Anonymous
Dezmunt
db.collection.remove( { _id : { $in: [
ObjectId("51ee3966e4b056fe8f074f48"),
ObjectId("51ee3966e4b056fe8f074f4a"),
ObjectId("51ee3966e4b056fe8f074f4b")
] } } );
Dezmunt
deleteMany
StaniFe
Все добрый день! Подскажите, как в монге можно сделать autoincrement по int полю.
Есть много экземпляров сервиса и периодически возникают проблемы с дублями int значения 😔
Сервер кластерный
Nick
Scorpi
StaniFe
StaniFe
no
Nick
Nick
Scorpi
Nick
no
StaniFe
Nick
Почему?
сдамплено изза автоикремента - просто поставить граббер который по порядку всех юзеров выгребает с сервиса
Nick
тоже самое касается публичных сервисов с заказами и иже с ними, если не настроена авторизация
Daniil
А если это публичные данные, то почему нет
Dmitriy
Коллеги, подскажите, как сделать запрос на получение данных с фильтрацией по boolean полю, но при этом его может не существовать.
Например мне нужно получить все записи, у которых поле manual = false либо его не существует
no
Dmitriy
понял, спасибо
Dmitriy
можно ли одним запросом обновить несколько записей в таблице с разными значениями полей апдейта?
Например у меня есть 10 _id и есть 10 статусов для каждого id которые нужно установить конкретной записи?
Если да, то подскажите в какую сторону смотреть либо может примеры у кого то есть?
Mykola 🤷🏼♀️
Dmitriy
Daniil
Спасибо!
Но это не один запрос, а сетевая оптимизация для нескольких запросов
Artem
Откуда может появляться duplicate key error, если я использую только findOneAndUpdate ??
Yaroslav
мб вы апдейтите значение ключа уникального индекса?
Artem
Я ищу юзера по ID, я не могу заменить ID, потому что если он раньше был другой, то я нового создам, потому что если он был другой, то он не найдется по новому
Artem
а имя не уникально
Artem
Сейчас перезапустил — ошибки нет
Artem
есть база
Users: {id, name}
От стороннего апи я получаю ID и имя пользователя и делаю такой запрос: findOneAndUpdate({id: recievedId}, {name: recievedName}, {upsert: true})
Artem
Он ругается что ID дублируется, буд-то второй раз создал юзера с таким же ID. Но тогда какого фига он его не нашел, раз он уже был?
Nico
Здравствуйте
Подскажите пожалуйста
А можно ли как-то узнать после подключения к БД - есть ли конкретная коллекция или нету?
Дело такое, что мне понравилась функция update( , upsert=True) вместо insert_one().
Но она не создает коллекцию если той нету.
Надо заранее написать скрипт проверки если ли коллекция и если нету - то создать ее через db.create_collection()
Как это сделать? типа функция check_is_collection()
Работаю на pymongo, на python
Nico
Нашел зацепку - при create_collection выдает exception если уже есть
Nico
так что изи)
Nico
боялся чтобы не перезаписывала
Маrаt
Что делать если я не знаю мой документ будет больше 16 мб или нет? Есть какие-то техники чтобы если нужно то мог хранить больше?
Serhii
Anton
Маrаt
Это нормальная практика использовать каждый объект в коллекции как отдельную вещь? Например нужно написать древовидные комментарии, как каждый комментарий лучше сохранять? В отдельном объекте коллекции или 1 глубоким объектом всю цепочку комментариев сохранять?
Маrаt
просто мне кажется чем больше комментариев будет, тем больше придется тратить времени для поиска в дереве комментариев, если использовать глубокий объект
Anton
Не подскажете в чем ошибка (unknown top level operator: $in)
{
marks: {
$elemMatch: {
$or: [
{ $in: [‘BAR’, ‘BAZ’] },
{ $eq: 'all_marks' }
]
}
}
}
Anton
Anton
yopp
yopp
Хранить в дереве массивов/словарей очень неэффективно и будут огромные сложности с выборками.
Кешировать в родительском объекте тоже не стоит пока не будет реальных проблем с производительностью, так как это добавит множество сложностей
Александр
всем привет
кто-нибудь сталкивался с падением mongo, когда она отъедает много памяти?
пробовал поставить
storage:
engine:.
wiredTiger:
engineConfig:
cacheSizeGB: 5
перестала запускаться.
сейчас стоит :
storage:
engine:.
wiredTiger:
версия mongo 4.0.12
Подскажите как лечить проблему?
Daniil
Daniil
Но лучше дать столько памяти, сколько нужно, стоит это копейки
Александр
Ограничить размер кеша
а это разве не оно cacheSizeGB: 5 ? в том-то и дело, что не могу ограничить, при таком конфиге не стартует.
Daniil
Daniil
Там минимальный размер 250мб по моему
Daniil
Там понятное дело еще под другие нужды монга памят возьмёт
Daniil
Сколько всего ОЗУ доступно?
Александр
5гб многовато нет?
mongo отедает 50% памяти и система ее укладывает. на серваке 8Gb
Nick
кеш монги - это кеш, а не память нужная для выполнения запросов. Вот память под выполение именно действий ограничить нельзя
Александр
с конфигом storage:
engine:.
wiredTiger:
engineConfig:
cacheSizeGB: 5
не стартует. как ограничить?
Daniil
Александр
Andrey
Иван
Здравствуйте! Подскажите пожалуйста профилировщик для .NET Core. Бд съедает всю память и приложение валится. Пытаюсь понять в каких запросах проблема. Спасибо!
Sergey
Иван
Anonymous
это норм что монгус записал значение без рекваерд поля и не выдал ошибку?
Anonymous
записываю через findOneAndUpdate
Anonymous
схема выглядит вот так
записываю без childs - никакой ошибки, вставляет пустой массив
записываю без fileNum - никакой ошибки, этого поля просто нет у документа
Евгений
Народ
Евгений
Подскажите, использует ли монго индексы автоматически или надо указывать?
Евгений
Потому что стало много объектов, и начало это все тормозить безбожно
Евгений
Использую драйвер для .net
Anonymous