Alex
хотя null нигде нет)
ты создал документ у которого по умолчанию locale_ru: null, в схеме он отмечен как unique:true при следующем создании документа опять по умолчанию locale_ru: null, он на это ругается
Nick
findOneAndUpdate работает корректно
Весь код в студию на pastila.nl
Max
Весь код в студию на pastila.nl
https://pastila.nl/?0177936c/4383cfbb1c9815dccb045c4544717c39#ZxjaEJoGpIfcVLGlWux50A==
Ivan
вот именно, что locale_ru не unique
индекс удали locale_ru_1
Max
индекс удали locale_ru_1
не понял, у меня не индексируется это поле и { versionKey: false, _id: false }
Max
getIndexes что говорит для этой коллекции?
Сейчас доберусь до ноута - проверю)
Max
Странность в том, что код я не трогал месяца 3-4, он работал валидно и в базе всё как нужно создавалось, вчера начал тестить и выпала ошибка)
Alex
Странность в том, что код я не трогал месяца 3-4, он работал валидно и в базе всё как нужно создавалось, вчера начал тестить и выпала ошибка)
хочешь сказать, что код нормально создавал документы по этой схеме, ты решил затестить вручную и появилась эта ошибка?
of Astora 𒉭
Именно)
бред, не считаешь?
Max
бред, не считаешь?
Считаю, подозреваю, что где-то опечатался)
of Astora 𒉭
скинь код где делаешь запись
Max
монга считает по другому)
А ты прав, зашёл в компас и вижу, что locales индексируются. Но всё равно, странное поведение, т.к.я пустоту не передаю, а в коллекции один документ без каких-либо значений null.
Ivan
не нужен код твой - смотри в базе по факту
Max
все индексы посмотри
Оставил только key и _id
of Astora 𒉭
ты в терминале кодишь?
Max
ты в терминале кодишь?
Я вырезал куски кода в один файл и сделал скрин, больше полезной нагрузки в данной логике нет)
Ivan
Оставил только key и _id
сейчас работает все?
of Astora 𒉭
можно в одну строку делать запись пример: const creatingdData = await new CountryModel(countryData).save() а после уже вернуть креатингДату
Max
сейчас работает все?
Да) Но всё равно, логика ошибки для меня загадка)
vaillant.exe
Дорогие друзья, подскажите пожалуйста. БД запускается, в консоле ждёт коннекта. Пробую в браузере через локал дернуть - ответа 0. Путь при запуске строгий, в скобки оборачиваю поскольку есть русские символы в пути. Пробовал порт менять, не получилось.
Artem
всем привет, упал резко сервер монги. рестарт не помог, рестар всей машины тоже не помог, в логах монги долбит логи "slow query" по кд. Решения с форумов не прокатили, подскажите пожалуйста, куда рыть ?
U
Ребят, может ли монга делать CollScan если даже есть индекс но мало документов?
Darya
Коллеги, привет, с новым годом! Есть довольно нубский вопрос по монге, может быть можете помочь разобраться: есть коллекция которую хотелось бы регулярно чистить, оставляя данные за последний месяц, при этом чтобы монга высвобождала место на диске сразу, а не резервировала. На тестовом сервере deleteMany и следом compact всё делают по плану. Но на продовом сервере монга падает при попытке компакта, с ошибкой WT_SESSION.compact: compaction halted by eviction pressure: Device or resource. Из ошибки есть подозрение что проблема либо с ресурсами сервера, либо с конфигами монги. По мониторингу видно что в момент падения сервер не нагружен, ни ram ни cpu ни диск. В какую сторону копать? Монга по определенным причинам 3.6.23, один нод без кластера.
Андрей
Добрый вечер. Сталкивался ли кто-нибудь с очень долгим восстановлением оплог слайсов инструментом PBM от Перконы? Множество таких ошибок: {"t":{"$date":"2024-01-02T19:28:05.005+02:00"},"s":"W", "c":"REPL", "id":6100702, "ctx":"ftdc","msg":"Failed to get last stable recovery timestamp due to {error}","attr":{"error":"lock acquire timeout"}} При этом что-то применяет постоянно, файл коллекции постоянно обновляется, но крайне медленно и долго применяет, судя по логу рестора, оплог слайсы. Час не может загнать только вчерашние сутки.
Андрей
Самого оплога за 2 дня в ZSTD 10GB всего
Нуриддин
При перезагрузке время на машинах было синхронизировано с каким-то ntp или были проставлены тайм зоны, если были расхождения в регионах внутри опирационки или сервиса, вообще удивительно что монго запустилась и работает штатно
Андрей
При перезагрузке время на машинах было синхронизировано с каким-то ntp или были проставлены тайм зоны, если были расхождения в регионах внутри опирационки или сервиса, вообще удивительно что монго запустилась и работает штатно
Если это на мой случай, то с датами никаких проблем нет и не было. Failed to get last stable recovery timestamp происходит из-за тайм аута наложения лочки, судя по сообщению. Если бы были бока в датах, были бы бока с самим выполнением дампов, т.к. каждая операция по системе PBM пишет метаданные в базу + всё, что можно, мониторится. Реплика сет еще не запускался, т.к. рестор еще идёт. Закончится, запустится и будет работать, но нет понимания на сколько времени с таким ходом событий ориентировать бизнес и как этих ошибок избегать.
Андрей
Коллеги, привет, с новым годом! Есть довольно нубский вопрос по монге, может быть можете помочь разобраться: есть коллекция которую хотелось бы регулярно чистить, оставляя данные за последний месяц, при этом чтобы монга высвобождала место на диске сразу, а не резервировала. На тестовом сервере deleteMany и следом compact всё делают по плану. Но на продовом сервере монга падает при попытке компакта, с ошибкой WT_SESSION.compact: compaction halted by eviction pressure: Device or resource. Из ошибки есть подозрение что проблема либо с ресурсами сервера, либо с конфигами монги. По мониторингу видно что в момент падения сервер не нагружен, ни ram ни cpu ни диск. В какую сторону копать? Монга по определенным причинам 3.6.23, один нод без кластера.
Это бока самой монги. В 4.4 то же самое. В ресурсы оно не упирается. После 5.0 ни на одном инстансе из множества такого у меня нет.
Андрей
Ввести в поиск по чату compaction halted и мой пост про эту проблему будет в результате. Оно может как есть память после запуска команды, так и не есть. Со старых версий критически важно слезть.
Darya
Ввести в поиск по чату compaction halted и мой пост про эту проблему будет в результате. Оно может как есть память после запуска команды, так и не есть. Со старых версий критически важно слезть.
Спасибо большое, полезная информация! Настораживает, что на тестовой монге с 3.6.5 отрабатывает нормально, хотя там и памяти меньше и сама коллекция меньше. Стоит наверное попробовать погрейдить с 3.6.23 на 3.6.5 на проде. На 5 перейти к сожалению пока не получится.
Darya
@Radchenko_Andrey а вот вопрос, эта проблема при большом парке машин, сохранялась на разных ОС?
Андрей
@Radchenko_Andrey а вот вопрос, эта проблема при большом парке машин, сохранялась на разных ОС?
да, да я прогнал компакты одних и тех же баз через все версии, начиная с 3.2 по-моему дистрибутивы - красношапка различных версий и ее производные, ради прикола в арче еще потаскал ось значения не имеет, это трабла движка субд
Виктор
Добрый день! У нас база Mongo открыта и войти в неё может любой пользователь по адресу сервера и паролю, можно ли установить доступ только для авторизованных пользователей (пока нашли решение только создание новой базы и миграция в неё)
Данил
Всем привет как найти все документы где в объекте курс есть ключ например '6592eb84b2107223dae7b603' ?
Shaon 🇺🇦
Подскажите, что можно сделать. Вот такая ошибка в логах при попытке запуска mongo на Manjaro Linux. Я погуглил, попробовал два способа установки - через AUR репу чтобы pamac билдил и ручной билд из гитхаба. Но ошибка все та же. Вот тут, как я понимаю написано, что современные версии mongo требуют наличиная у процесора каких-то доп. инструкций. Выходит, единственный вариант - скачивать старую версию?
?
всем привет, как найти документы в которых: если поле parent существует, то равно определенному значению и поле name тоже равно определенному (другому) значению (name всегда существует). То есть если поле parent в объекте не существует, то не использовать его как критерий поиска вообще?
Михаил
Всем привет, подскажите материал по аутентификации в бд, чтобы без логина и пароля не входить для js, без использования mongodb shell для 6 версии
Влад
Всем привет, подскажите материал по аутентификации в бд, чтобы без логина и пароля не входить для js, без использования mongodb shell для 6 версии
там по дефолту и так без логина и пароля вход в жс, только название бд прописываешь и все, ток доступ нужно локальный делать
Михаил
Влад
Я на хотел наоборот по логиному и пароль Но без этого безопасно использовать?
А, извиняюсь. В доке по установке в конце вроде бы есть инфа как ставить пароль
Михаил
Спасибо
Павел
Добрый день. Вопрос по созданию пользователя и назначение роли: хочу создать пользователя для бекапов и восстановления всех баз в кластере MongoDB. Так как баз много, хочу при назначении ролей backup и restor не перечислять их все, а выбрать через какой-то единый указатель (звёздочку или пустые кавычки), но ни звёздочка ни кавычки не работают. Делаю такой командой: db.createUser( {     user: "backupuser",     pwd: "backuppass",     roles: [{role: "backup", db: ".*"}, {role: "restore", db: ".*"}],     passwordDigestor: "server" }); получаю ошибку - "'.' is an invalid character in a database name" Если просто db: "" указать - тоже ошибка - "Role db must be non-empty strings" Подскажите, пожалуйста, есть ли какая-то возможность указать все базы или только перечислить их по именам? Спасибо. P.S. версия MongoDB - 4.4
Vladimir
Добрый день. Вопрос по созданию пользователя и назначение роли: хочу создать пользователя для бекапов и восстановления всех баз в кластере MongoDB. Так как баз много, хочу при назначении ролей backup и restor не перечислять их все, а выбрать через какой-то единый указатель (звёздочку или пустые кавычки), но ни звёздочка ни кавычки не работают. Делаю такой командой: db.createUser( {     user: "backupuser",     pwd: "backuppass",     roles: [{role: "backup", db: ".*"}, {role: "restore", db: ".*"}],     passwordDigestor: "server" }); получаю ошибку - "'.' is an invalid character in a database name" Если просто db: "" указать - тоже ошибка - "Role db must be non-empty strings" Подскажите, пожалуйста, есть ли какая-то возможность указать все базы или только перечислить их по именам? Спасибо. P.S. версия MongoDB - 4.4
Если я не ошибаюсь, то в этой версии нет такой возможности Придётся перечислять вручную бд ( ну или циклом кнш) Мб я не прав, поправьте если что-то
none
а если пользователю указать базу admin, разве у него небудет доступа ко всем базам?
Вячеслав
Доброе утро Почему не обновляется __v в документе при обновлении? await Model.findOneAndUpdate( { name }, { date: new Date(), name }, { new: true, upsert: true, } )
Вячеслав
в старом проекте нашел такую запись // НЕ обновляет __v return await this.catModel.findByIdAndUpdate(id, updateCatDto, { new: true, }) // обновляет __v const cat = await this.catModel.findById(id) if (cat) { // наполнить один объект свойствами другого Object.assign(cat, updateCatDto) return await cat.save() } return null
Вячеслав
вот лекарство
Вячеслав
а вот ссылка на офф доку
Вячеслав
может кому нужно
Desalutar
а вот ссылка на офф доку
Дока на русском?
Nick
в старом проекте нашел такую запись // НЕ обновляет __v return await this.catModel.findByIdAndUpdate(id, updateCatDto, { new: true, }) // обновляет __v const cat = await this.catModel.findById(id) if (cat) { // наполнить один объект свойствами другого Object.assign(cat, updateCatDto) return await cat.save() } return null
Потому что __v это служебное поле монгуса и если вы не работаете с монгусовской сущностью и лезете прямыми апдейтами то само собой некому это поле менять. Более того любое ручное управление этим полем может поломать работу монгуса, так что на свой страх и риск
Nick
Дока на русском?
Гуглтраслейтно же видно
Влад
можно как-то восстановить бэкап одной командой если все данные по папкам раскиданы? в каждой папке валяется архив с дампом для отдельной коллекции
Влад
уже не помню, давно очень делал
Димитрий
У меня создана модель колонок и в ней есть массив тасков. Почему я не могу создать такую колонку без передачи массива тасков? По идеи я же когда создаю ключ и не указываю required - он не обязателен. Но в моем случае мне выдает ошибку мол: дубликаты null
Димитрий