Vladyslav
Конечно, локально )
просто пишешь только о компасе...
MaryJ💻
Сейчас попробую переустановить
Дима
Подскажите, почему оно добавляет единицу всем объектам массива а не найденному?
Дима
🙏
Nick
Подскажите, почему оно добавляет единицу всем объектам массива а не найденному?
$[] обновляет все элементы в массиве, если массив подходит под условие. Собственно вам нужно обновить только отдельные элементы, поэтому надо использовать просто $ https://www.mongodb.com/docs/manual/reference/operator/update/positional/#update-embedded-documents-using-multiple-field-matches
Nick
Господа, какие есть аналоги DACPAC для монги? Нужно гарантировать наличие индекса при CI CD
N
доброй ночи подскажите пожалуйста отличие создания кластера на сайте в монге от использования локальной которая mongodb://localhost:***** ? и что вообще из себя кластеры представляют ?
Alexander
Можно реализовать миграции с учётом версий, а если приложение несложное, то просто добавлять нужные для текущей версии и удалять лишние.
MaryJ💻
Короче проблема была в версии mongoDB, разделили они файлы для установки не сервер и просто приложение компас, у меня была ранее версия, где в ней одной все было . И работало. А потом спустя с выходом новой версии все отвалилось) вобщем хорошо когда проблема решена ))
Alexandrr
какую папку? где? зачем? с чего создаёшь? с чего хочешь создавать? логи смотрел? гуглил? зачем тебе _ид название папки?
Shi
Получилось. Подправлю ответ, нужно $in, а так большое спасибо!!
Alexandrr
я так понимаю, методов на замену "N_количества уникальных записей" на "N_количества уникальных записей" нет? на скрине апдейт всех полей соотв. условию с 1 значением как сделать апдейт нескольких полей соответствующих условиЯМ с несколькиМИ значенияМИ? есть дефолтные методы какие-нибудь? или только циклом по 1? а то у меня 5 млн записей нужно апдейтить каждый 1 час, каждый апдейт занимает = 8ms * 5млн = очень долго (кроме асинхронщины) при ЭТОМ, основное условие - постоянная доступность записей для запросов в момент обновления (думал уже о подмене старой коллекции на новую, что бы делать как бы переключение, но пока это отложил, мб есть более быстрое решение) pymongo
Alexandrr
зачем мне лимит?
Alexandrr
может кто-то нашёл более быстрое решение, нежели по 1 задаче циклом прогонять
Максим
Какой командой можно добавить новое поле в каждый элемент CompanyOfficePractices? db.collection.updateMany а как нужное поле выбрать хз
Shi
Привет. Есть база Car и Person (у car есть реф owner). Использую mongoose. в базе записывается реф правильно. Когда пытаюсь достать car.owner через findOne в mongoose, то поля owner вообще нет, populate сделал. (2 скрин из базы mongo)
Shi
Shi
idk
хотя бы pretty() сделай. Но у тебя видимо owner это вложенный документ
Shi
в базе owner есть
idk
в базе owner есть
Покажи обе модели
Нурлан
парни , помогите оптимизировать запрос к монго: у меня то 5секунд запрос , то 500 мс
Нурлан
async getMessages(forumId, page){ const paginateOptions = { page: page, limit: 10, }; const aggregate = messagesModel.aggregate([ { $match:{ $expr:{ forumId:{ $eq:["$forumId", {toObjectId:forumId}] } } } }, { $lookup:{ from:"users", localField:"owner", foreignField:"_id", as:"messageOwner", pipeline:[ { $project:{ first_name:1,last_name:1, avatar:1 } } ] } }, { $project:{ textContent:1, files:1,date:1,messageOwner:1 } }, ]); return await messagesModel.aggregatePaginate(aggregate,paginateOptions).then((res)=>{return res.docs}); };
Нурлан
или лучше скрином?
Нурлан
работает, но порой очень долго
Nick
как корректно получить FirstOrDefault в C# без перебора всей коллекции через Find?
Нурлан
Индекс в помощь
ага,думал есть индекс не правильно поставил,
idk
вроде как, это означает, что схему ты описал не верно
Shi
у меня такая же схема в другом проекте и там все работает, проверил все много раз. к счастью уже все заработало
Shi
Есть подозрение что это из-за того, что запись в базу делалась с помощью pymongo, а считываю через mongoose хотя сам уже не знаю
Nick
Нужна консультация на 30-45 минут по монге + .NET, дам денег Пишите в личку
Alex Cosh
Всем привет. Может кто полскажет. db.data.distinct("location_country"); выдает список стран как и надо но проблемма что выволится не все значения пишит "... 152 more items" как вывести весь список. Спасибо
Paul
Всем привет, пишу на nest.js. Хочу запретить патчить поле login, как то можно это сделать через указание опций в декораторы DTO? (Поле login есть в CreateUserDto)
Vladislav
Всем привет. Нужна помощь. В наличии 3 сервера (dev,stage,prod) В одной локальной сети. На каждом сервере развернута своя mongodb и mongo-express. Имена бд разные на всех серверах, образы тоже разные. Не могу понять почему и в какой точке базы смотрят в друг друга. Единственная переменная общая у них это mongo_host c значением mongodb. Может это быть причиной или что еще может связывать разные бд на разных серверах? Р.s. Понимаю что бредовый какой то вопрос но все же.
Vladislav
Есть отдельный сервис который плюет данными по 3 разным ip адресам. В бд прод например можно удалить данные , потом в постман сделать запрос на получение и они подтянутся из бд дев ( например) На уровне переменных все проверил и поменял . В контенерах проверил что верные переменные завайрились.
Mike
народ http://joxi.ru/v29RaqPt4B9YzA если уже в базе есть текстовые поля такого плана - их можно конвертнуть в тип данных даты и времени соотвественно? способна ли система корректно сранивать подобные значения между собой? (какая дата или время больше другой)
Nick
народ http://joxi.ru/v29RaqPt4B9YzA если уже в базе есть текстовые поля такого плана - их можно конвертнуть в тип данных даты и времени соотвественно? способна ли система корректно сранивать подобные значения между собой? (какая дата или время больше другой)
конкатенируйте сначала в общую строку вида "yyMMdd-hhmmss" дальше ее на $toDate с указанием этого формата в параметре и поулчаете уже нормальную дату. Ее же можно сохранить отедльным полем апдейтом по всем докам, а потом уже работать нормально с ней. Главное не забыть в коде тоже начать сохранять поле в виде нормальной даты
Vladislav
Alexandrr
Проблема в том что бы полностью изолировать эти бд.
они и так изолированы, если на разных тачках находятся
Nick
народ http://joxi.ru/v29RaqPt4B9YzA если уже в базе есть текстовые поля такого плана - их можно конвертнуть в тип данных даты и времени соотвественно? способна ли система корректно сранивать подобные значения между собой? (какая дата или время больше другой)
ну и кстати если задача только сортировать, то достаточно сортировать по дате и потом по времени в строковом виде и индекс можно такой построить и все будет вменяемо работать
Mike
http://joxi.ru/LmGgJPehBWKd3m такой вопрос еще - как получить не пендинг - а реальный результат в текущей конструкции кода?
Mike
http://joxi.ru/l2ZKbPRClqO33A для сравнения в таком примере я получаю конкретный результат без pending
Mike
так разобрался - там ошибка в типе данных была - вопрос решен преобразованием параметра в числовое значение
Нурлан
ребят есть чат, и каким образом вы хранили ответы на сообщения? прост не могу найти бестпрактис
mfgskv ✙
привет, нужно найти профили с имейлом из списка имейлов и добавить к списку элемент если нашел. В системе Может быть 2 профиля с одним имейлом. Мне нужно сделать так чтобы в ModifiedCount я получал не количество записей которые обновились, а количество профилей с имейлами которые я нашел, не учитывая дубликаты (тоесть если я нашел 2 профиля с одним имейлом и обновил их оба - ModifiedCount был бы +1 а не +2)
mfgskv ✙
можно как-то это обыграть?
Nick
можно как-то это обыграть?
никак, апдейты не возвращают результаты выборок
mfgskv ✙
да я думаю это достаточно логично, просто думал возможно мой кейс натолкнет на вариант как эту штуку можно обыграть
mfgskv ✙
видимо никак?
Nick
видимо никак?
увы, но по тому что вы описываете видно что нужна функциональность по типу процедур в sql базах, которые и поменяют и чтонить по пути подсчитают. В монге такого нет и надо разбивать на два запроса по факту - первым просто выборку делаете и вторы уже сам апдейт
mfgskv ✙
ну и апдейт будет все еще с фаиндом внутри, я очевидно не смогу на результатах с квери апдейт вызвать?
mfgskv ✙
ладно, спасибо
Shuliar
Коллеги, а подскажите, можно ли одним запросом в mql через find вывести не только вложенный объект в документе, но и objectid его? Задача - нормализовать коллекцию в реляционные таблички.. 🤔 А то обычный find выводит лишь то, что в условии фильтрации стоит, т.е. вложенный
Dmitriy
Подскажите плз, что делаю не так? Не понимаю...
....
В чем может быть проблема ? IP уже есть в белом листе
Dmitriy
а что не так?
не ищет ни чего, но строка в коллекции точно есть
Nick
не ищет ни чего, но строка в коллекции точно есть
время совпадает до секунды? и таймзона корректная передается?
Nick
прямо скопировал из другого запроса
а покажите как в базе выглядит
Nick
В чем может быть проблема ? IP уже есть в белом листе
скорее всего некорректный ip, для проверки можете указать любой адрес маской и проверить доступность просто, потом вернете отдельный свой ip
Nick
поигрался, и Т не влияет и таймзона тоже, пасит все корректно и сравнивает в базе. А точно дата в базе как date тип?
Nick
А как это узнать? я пока только учусь
db.posts.aggregate( [ { "$project": { "fieldType": { "$type": "$after.bookingDate" } } } ] )