yopp
Но эффективнее будет запланировать обновление до поддерживаемой версии. 3.х умрет уже в апреле
yopp
А в 4.0 уже есть поддержка Decimal128, с которым костылей для точного хранения чисел уже не надо
RdfBbx
Ребят, кто с nestjs + mongoose работал? При создании документа, сабдокумент не создается, хотя дефолтные значения указаны.
RdfBbx
RdfBbx
Vladimir
Вроде есть какая то переключалка в монгусе, создавать ли дефолтные поля, я делал, ща попробую вспомнить
Vladimir
не, ток вот это помню, но это при обновлении.
setDefaultsOnInsert на дефолтах должно работать,
Vladimir
Может дело в том, что там конструктора нет, на Ecdsa классе, вот он и инициализируется из js как пустой.
V
ребят подскажите а есть какие-то особые плюсы запуска монги в кубере?
я по правде говоря не вижу ну разве чтоли скорость развертывания
Alexandr
Товарищи, кто подскажет, по какой причине могут не стартовать шарды после прописывания в конфиги keyFile'ов?
Alexandr
конфиг-сервера и mongos запустились, а шарды - нет
Alexandr
В логах такое: no global storage engine yet
Kirill
всем привет! Подскажите почему значение переменной не считывается в match? Хотя если захардкодить в match, то запрос отрабатывает нормально. Я как-то неправильно передаю переменную?
const startDate = req.body.start;
const endDate = req.body.end;
console.log(startDate) -- приходит нужное значение
{
$match: {
EndTime: {
$gte: startDate,
$lte: endDate,
},
},
},
Roman Khonichev
возможно потому что в поле EndTime объект даты, а в переменных строки?
Alexandr
Господа, никак не получается решить проблему: не стартуют шарды. Что может быть?
Alexandr
Завершал работу через db.serverShutdown
Alexandr
Потом добавил в конфиг путь к файлу ключа, запускаю и никак...
Edwin-Mark
Здрасте. Есть ли быстрый способ доставать дейту каскадом? Типо вместо того чтобы сделать цыкл и к каждому елементу искать рекарды
Edwin-Mark
Уточню. У меня есть много ботов и к каждому нужно достать диалоги. Это отдельные коллекции
Sardor
Всем привет! Подскажите, пожалуйста, как сделать следующее:
У всех документов в одной коллекции есть одинаковое поле. Нужно получить номер определенного документа в этой коллекции, отсортированной по указанному полю. Т.е. вроде места в рейтинге
Alexandr
Вдруг кому поможет: было 2 шарда. В сумме 1,3 терабайта данных. Остановил оба, настроил авторизацию по ключу. Запускаются только конфиг и mongos, а шарды никак. Проблема была в том, что wiredTiger при каждом запуске желает удостовериться, что все хорошо с данными и что-то там пытается восстановить. На таких объемах он не укладывается в стандартный таймаут. Поэтому надо добавить таймаут в >600 секунд в файл mongod.service
Alexander
Доброй ночи, вопрос: есть в монге транзакция чтобы заблочила find и update документа?
Alexander
а то есть некая логика в коде и получается что find() возвращает одинаковое значение (так как update у другого ещё не закончился)
Alexander
про findandupdate знаю, но тут очень размазана именно по коду, а не по базе логика (несколько find и тд) (код не мой :) )
Pavel
Pavel
Ребят, как обратно сгруппировать массив events?
Pavel
Pavel
Pavel
Ребяатаа, туплю капец. Как обратно сгруппировать после $unwind?
yopp
рекомендую вместо $unwind и $match использовать $reduce
yopp
Это более простой и эффективный способ отфильтровать массив по условию, не раздувая пайплайн
Alexandr
Господа, нужно мнение экспертов: есть 2 физических сервера. На сервере А 3 контейнера (2 mongo-donf 1 mongos) и непосредственно в системе установлен mongodb. На сервере Б только mongodb. Шардинг-кластер. Поле настройки авторизации запросы стали исполняться долго и периодически выскакивает ошибка (в studio 3t) "Couldnot find matching read perfomance for set repl2" где repl2 - это репликасет из одного единственного сервера Б
Alexandr
Т.е. вроде сервер Б отваливается, но на самом деле это не так - связь с ним есть стабильная и быстрая
Danil
Всем привет, подскажите, пожалуйста, как можно добавить данные в дочерний массив вот сюда http://joxi.ru/LmGO5KDClN8ogm
Пытаюсь сохранить вот таким путем http://joxi.ru/Y2L1KO0SEWX5PA но данные в базу не пишутся, в консоле они выводятся нормально.
Slava
всем аллоха
Aleksandr
Всем приввет, подскажите плиз. Есть коллекция со статусами (открыто, закрыто, отклонено) и есть коллекция tasks, у моделей в которой есть поле status: (открыта задача, закрыта, отклонена) это поле status ссылается на коллекцию statuses, там id нужного статуса. Нужно фильтровать задачи по этим статусfv и я хочу добавить индекс по этому самому статусу. Это нормально так делать вообще если в поле лежит ссылка на другую коллекцию?
Alexander
Всем привет, хотел бы ещё раз спросить по ночному вопросу: read-commit lock в монге не присутсвует?
Alexander
Вопрос возможно ли решение - обновления размазана по функции и нескольким таблицам, следовательно получается repeated-read, как это избежать в монге не очень знаю
Alexander
можно наверное сделать мануальный лок, но тогда, по идее, если не делать некий спинлок, то параллельные запросы будут отваливаться
Alexander
может какие-то решения есть ?
Denis
Denis
Denis
Denis
Или ты про то что разные инстансы полезут модифицировать одинаковые данные тогда тебе надо очередь брать, тут база не при чем
Alexander
А зачем сервисам лочить друг друга? Монга обеспечит acid над данными
я значит что-то не понимаю, буду рад если поясните: мне казалась она не может это обеспечить. т.е. грубо говоря:
- есть функция f1: прочитать что-то, посчитать (в коде) и обновить этот же документ
- есть параллельный такой же f2.
=> он и оба прочитают вариант изначальный, но я бы хотел чтобы f1 залочилась пока f2 не отработает.
Ну т.е. в рамках одного инстанса это как mutex.Lock
Alexander
Alexander
нужно избежать repeated-reading
Denis
Denis
Alexander
Denis
Alexander
Denis
Если тебе нужно распараллелить обработку документов, что параллельно разные обрабатывались, используй очередь (кафка реббит и тд). Чтобы обеспечить атомарность изменения одного документа и защититься от грязных чтений - используй транзакцию
Alexander
Alexander
Denis
Denis
А то у тебя все N кронов будут лопатить одни и те же данные
Alexander
т.е. просто в монге не подвезли такого (что в общем-то имхо не проблема, я вообще первый раз в монге в транзакции лезу)
Denis
Denis
Denis
Тогда последовательно делай в одном инстансе. Результат будет тот же с такой же скоростью. Надо параллельно- бери очередь
Denis
Denis
А пишет в очередь 1 продюсер, айдишники которые надо обработать
Alexander
т.е. я понимаю что при распределении в этом смысла нету вообще, но распостранение воркеров есть и я с этим ничего не могу поделать
Alexander
я в целом не очень понимаю как в данном случае очередь поможет, но я склоняюсь к единой точке
Alexander
Всем привет
Alexander
Как правильно сделать поиск по полю
db.products.aggregate([{
$search: {
'text' : {
'query' : 'Bio',
'path' : 'name'
}
}
}])
Alexander
?
Физик-ядерщик
Есть ли такая возможность в монге, чтобы документ "A" заимствовал определенные поля у документа "Б" ?
Artem
Физик-ядерщик