Kvhqm
и да будет ошибка, т.к. newValue пустой объект, который не имеет метода save()
Угумс. И ещё одна интересная вещь получается. Когда пытаешься изменить таким образом, как я показал, но с указанием "не оригинального" айди, а просто его строковой версии, тоже возникает ошибка, т.к. айди должен быть именно ObjecId... Но если айди будет
_id: value._id (т.е. пришедший из БД), всё будет ок
Nick
Угумс. И ещё одна интересная вещь получается. Когда пытаешься изменить таким образом, как я показал, но с указанием "не оригинального" айди, а просто его строковой версии, тоже возникает ошибка, т.к. айди должен быть именно ObjecId... Но если айди будет
_id: value._id (т.е. пришедший из БД), всё будет ок
если id не оригинального типа, т.е. не ObjectId, то всеравно будет выполнено удаление, но совпадений не будет и ничего не удалится. Если обернуть в ObejctId, то найдет и удалит. Во втором случае вы просто сохранили помимо строки еще и тип и доп действий не требуется.
В общем случае _id может быть не только ObjectId, а например строкой или числом а так же мешанина из разных типов и это задача кодера контролирвоать тип _id при вызове методов удаления
Денис
Вопрос не совсем по адресу, но можно ли совсем неважные данные (сессионные токены, коды приглашения, которые живут пару минут) хранить не в какой-то БД, а в оперативной памяти, чтоб было быстрее и меньше занимало места?
Если сервер упадет, то просто пользователи заново залогиняться или получат коды
Магомед
Магомед
Во первых это не безопасно
Во вторых глобальные переменные - это плохо
В третьих лично я считаю такую реализацию костылём
Nick
Sergey
Ребят, подскажите, а на небольших коллекциях от индекса есть польза (если не брать индекс по уникальному id). Говорят, хоть поиск будет быстрее, но запись дольше. Это так?
Vladimir
Здравствуйте, подскажите нубу, можно как-то ограничить потребляемую память процессами монго? Я так понимаю, настройка storage.wiredTiger.engineConfig.cacheSizeGB затрагивает не всю память?
Андрей
Андрей
Андрей
В 4.4 есть возможность воткнуть 22 лвл ZSTD?
yopp
yopp
В 4.4 есть возможность воткнуть 22 лвл ZSTD?
увы, нет. в самом wiredtiger уровень компрессии задаётся при иницилизации компрессора, через config string его задать не возможно.
https://source.wiredtiger.com/2.9.0/compression.html
в 5.0 появился отдельный ключ для настройки
https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-storage.wiredTiger.engineConfig.zstdCompressionLevel
Исмаил
Всем привет, я начал изучать NestJs. и пытаюсь подвязать к нему МонгоДБ, Создал базу данных и сделал в них коллекции, в базу данных уже добавил данные,но получаю просто пустой массив при запросе.
название базы данных Cosmetology, название коллекции products собственно куда и идет запрос
Что я делаю неправильно ?
Исмаил
-
-
Также надо сначала подключать технические модули, которые обеспечивают работу всей инфстрауктуры и за место MongooseModule.forRoot лучше использовать MongooseModule.forRootAsync
Исмаил
Исмаил
-
так ?
Покажи как подключаешь схему в сервисе, а также как создал модель и схему
Исмаил
Исмаил
Исмаил
вот подключение в сервисе
-
В @Schema({collection: 'products'})
-
Всем привет, я начал изучать NestJs. и пытаюсь подвязать к нему МонгоДБ, Создал базу данных и сделал в них коллекции, в базу данных уже добавил данные,но получаю просто пустой массив при запросе.
название базы данных Cosmetology, название коллекции products собственно куда и идет запрос
Что я делаю неправильно ?
Ещё замените подключение к БД на
MongooseModule.forRootAsync({
imports: [],
useFactory: async () => ({
uri: 'mongodb+srv...', // Ссылка на подключение
dbName: 'Cosmetology',
}),
inject: [],
}),
Исмаил
Спасибо, попробую 🙏
Semyon
Привет, чат
Подскажите, кто знает, при опции allowDiskUse: true где именно используется дисковое пространство, какие там лимиты и есть ли спрособ это промониторить?
Semyon
Чиню жирную аггрегацию с сортиркой по большой таблице, очевидно, что это опция - решение
Но хотелось бы понимать, что она будет тратить и насколько
Nick
Semyon
Kirill
Всем привет!
Столкнулся с тем что primary из репликасета была убита OOM, и судя по всему ранее проблема тоже встречалась.
В этот раз в логе нашли совподающую по времени с проблемой запись:
I COMMAND [PeriodicTaskRunner] task: UnusedLockCleaner took: 12120ms
MongoDB версии 3.2.22, wiredTiger cacheSizeGB установлен в 204 Гб, всего на ВМ 256 Гб RAM. Cвободная память (~50Гб) ушла за пару минут. Размер БД окло 900Гб.
Про UnusedLockCleaner не нашли ничего что-бы помогло разобраться, может кто сталкивался с такой проблемой или знает что за таска и как ей можно управлять? Или еще какие-нибудь идеи в какую сторону поискать?
Nick
Kirill
Андрей
Так а в чем проблема то? Это в онлайне делается!
Андрей
А по сабжу интересно что по утилизации ресурсов окружения было.
Kirill
on-premises, за пару минут память ушла мониторинг отвалился на значении в в 8гб свободного и проц начал загружаться последнее значение 40% от стандартных +-10 , потом пришел ООМ еще через несколько минут
Kirill
и судя по всему выполнеие этой таски на 12 секунд все вешает, в логах за месяц аналогичной таски нет
Андрей
секунд
Андрей
это нормальное событие в базе
Андрей
ну у меня правда оно в разы быстрее происходит
Андрей
Нужно смотреть что память съело. Если что, залочить юзеру, от которого крутится СУБД, в окружении рамопоедание. Выше писал как.
Андрей
Могла жёсткая читалка прийти и поставить раком всё. WT тикеты можно посмотреть метрику, если собирается.
Kirill
Serge
Оу. А у меня всё ещё банхамер тут есть внезапно. Ну, и отлично:)
Александр
Если пользоваться MongoDB с Typescript - что выбрать - Prisma или дефолтный Mongoose? Можете подсказать, у кого есть опыт? :)
thheakihiro
всем привет, столкнулся с проблемой, что монга просто-напросто не хочет запускаться, кто сталкивался с таким или знает решение данной проблемы?
Vyacheslav
Исмаил
Anonymous
Здравствуйте, подскажите пожалуйста, почему когда в телеграм боте если одновременно нажмут кнопку старт 100 человек, то он подвисает?
Kvhqm
Anonymous
Исмаил
Ребята, подскажите что я делаю неправильно ? в process.env.MONGO_URI прилетает undefined
-
Исмаил
-
У меня вот такой кусок есть и всё работает
-
Ты .env файл то создал?
-
И 13 строчку удали у себя
Исмаил
Ты .env файл то создал?
файл создал, 13 строчку удалил. та же ошибка. а мне нужно как то дополнительно подключать конфиг ? или установки достаточно
-
Mojtaba
One question
The mongodb exporter service runs with this error.
error msg="Cannot connect to server using url mongodb://:@127.0.0.1:27017: no reachable servers" source="c>
error msg="Can't create mongo session to mongodb://:@127.0.0.1:27017" source="mongodb_collector.go:202
Prometheus,mongodb,mongodb exporter services are up.
Connection test with mongosh is ok
mongosh "mongodb://localhost:27017" --username **** --authenticationDatabase admin
Has anyone encounterd this problem?
☁️
Добрый вечер. Не могу подключиться к монге, в чем может быть проблема?
Nick
☁️
Да, запущена
Назар
А
Здравствуйте, хотелось бы узнать у тех кто использует в проектах базу монго
в каких случаях прям нужно для проекта несколько баз данных а не одну?
А
хотя бы 2
Max
Всем привет)
Коллеги, нужна помощь)
Есть документ в MongoDB, в документе есть поле items с массивом объектов { name: "name 1", surname "surname 1" }.
Нужно найти целевой объект через Mongoose в этом массиве и вернуть только его + часть данных документа, помимо этого массива items.
Искал разные варианты запросов, но всюду только элементарные примеры, в доке Mongoose не нашёл нужного варианта.
Буду благодарен за помощь.
Max
Всем привет)
Коллеги, нужна помощь)
Есть документ в MongoDB, в документе есть поле items с массивом объектов { name: "name 1", surname "surname 1" }.
Нужно найти целевой объект через Mongoose в этом массиве и вернуть только его + часть данных документа, помимо этого массива items.
Искал разные варианты запросов, но всюду только элементарные примеры, в доке Mongoose не нашёл нужного варианта.
Буду благодарен за помощь.
Пример:
из этого
(document) {
name: "some name",
city: "Moscow",
items: [
{
name: "name 1",
age: 20
},
{
name: "name 2",
age: 21
},
{
name: "name 3",
age: 22
},
]
}
нужно получить это:
{
city: "Moscow",
items: [
{
name: "name 3",
age: 22
}
]
}
Max
Пример:
из этого
(document) {
name: "some name",
city: "Moscow",
items: [
{
name: "name 1",
age: 20
},
{
name: "name 2",
age: 21
},
{
name: "name 3",
age: 22
},
]
}
нужно получить это:
{
city: "Moscow",
items: [
{
name: "name 3",
age: 22
}
]
}
Я не так давно с MongoDB и с Mongoose, если простой вопрос, то не кидайте помидоры)