Vladyslav
Find ({prop: numberdecimal(8.1)} )
Вячеслав
Доброе утро. Куда пропал user_session?
Roman Khonichev
$inc
Bogdan
Bogdan
Bogdan
Хочу сделать фильтр на количество записей во вложенном документе. Надо найти кол-во ресторанов с выше чем одной оценкой
Bogdan
Через size и $gt надо сделать. Но оно ругает
Viktar
db.collectoin.find({field1:{$size:{$gt:1}}})
Dmitry
db.collectoin.find({field1:{$size:{$gt:1}}})
Вроде можно упустить момент с size и написать просто $gt:1
Bogdan
db.collectoin.find({field1:{$size:{$gt:1}}})
Как я понял оно бул возвращает
Dmitry
find({grades:{gt:1}}).count()
Dmitry
По пробуй так
Viktar
$size does not accept ranges of values. To select documents based on fields with different numbers of elements, create a counter field that you increment when you add elements to a field.
Bogdan
find({grades:{gt:1}}).count()
Оно тогда не смотрит на кол-во и даёт 0
Nick
Как я понял оно бул возвращает
в файнде $size принимает только числа для сравнения (https://www.mongodb.com/docs/manual/reference/operator/query/size/) используейте агргеации или выносите количестве элементов в отдельную переменную и с ней работайте
Viktar
Как я понял оно бул возвращает
сделайте через агрегацию. 1 степом добавте поле с количеством элеметтов, а вторым отфильтруйте
Bogdan
db.Restaurants.find({"grades":{$gt:{$size:1}}}).count() Надо было поменять местами
Bogdan
Фильтрация через find есть, как это сделать?
Bogdan
Для каждого ресторана с более чем одним рейтингом отобразите его название и количество оценок, которые он имеет. Отсортируйте результаты в порядке возрастания количества отзывов (название поля, массивы оценок).
Bogdan
Структура данных вот
Bogdan
Dmitry
.projection(...).sort()
Frontend
Йо. Не могу на EC2 подключится к MongoDB Atlas. Подскажите как это фиксить, если кто сталкивался. Код отлично получает данные на моей локальной машине.
Frontend
а ip в разрешенные на аталасе внесены?
не поверите, спустя несколько часов тольго догуглил до этого момента. Да, нужно было в атласе завайтлистить, спасибо большое.
Nick
самая частая проблема
Frontend
самая частая проблема
А не знаете случайно как можно домен завайтлистить? А то у меня на Vercel повешен домен, а какой там IP я даже не знаю
Frontend
А не знаете случайно как можно домен завайтлистить? А то у меня на Vercel повешен домен, а какой там IP я даже не знаю
Ввожу IP, который назначил на A record, но он не работает. Работает только если со всех IP разрешать доступ
Frontend
тут хз, с таким не сталкивался
Может знаете где можно посмотреть логи попыток подключения, чтобы там достать IP?
Frontend
Бред какой-то... https://vercel.com/guides/how-to-allowlist-deployment-ip-address
Nick
Бред какой-то... https://vercel.com/guides/how-to-allowlist-deployment-ip-address
такто решение, главное не забыть авторизацию накрутить
Александр
Банальный вопрос Не могу найти файл mongo.exe (скрин) Переустановил монго, файла все еще нет Второй скрин - как папка выглядит у меня
Александр
Nick
Банальный вопрос Не могу найти файл mongo.exe (скрин) Переустановил монго, файла все еще нет Второй скрин - как папка выглядит у меня
теперь mongo.exe заменен на mongosh.exe, который надо ставить отдельно https://www.mongodb.com/try/download/shell или в пакете с другими тулами как монгоимпорт и .т.п
Nick
пароль посложнее и как правило достаточно, можно накрутить ssl
Nick
до 5 версии оно в комплекте было и думаю почти все туториалы в инете сейчас потеряли актуальность в этом плане
Leksey
всем привет! встретил следующую проблему: "Total size of all transaction operations must be less than 16793600 when using featureCompatibilityVersion < 4.2. Actual size is 16793908" встречаю впервые гугл пока не особо ответил на мои вопросы если очень кратко, то у меня много документ и все выглядит примерно так: Collection.insertMany(bulk, { session }); в bulk большое количество данных
Leksey
но гарантия атомарности точно требуется для нас
Leksey
как решить - пока не понял
Yaroslav
И сплить операции по 50 тыс за раз
Leksey
Заюзай bulk operations а не insertmany
мне кажется ранее пробовал не совсем понимаю, оно или нет: https://mongoosejs.com/docs/5.x/docs/api.html#model_Model.bulkWrite
Yaroslav
Там же ограничения на единовременное исполнение операций в балк
Yaroslav
Yaroslav
100 тыс за раз
Yaroslav
Должно выдерживать
Yaroslav
Плюс вопрос, у вас репликация?
Yaroslav
Если да, то задержка так же идёт из-за синка
Leksey
я еще на этот момент смотрю:
Leksey
https://www.mongodb.com/docs/v4.2/reference/method/db.collection.initializeUnorderedBulkOp/
Yaroslav
https://www.mongodb.com/docs/v4.2/reference/method/db.collection.initializeUnorderedBulkOp/
Да, то что вам нужно. Несортированые операции выполняются по принципу кто быстрее
Yaroslav
Но есть свои но
Yaroslav
Вам придется, в случае важности сохранения данных и их атомарносии, поверять,что было сохранено в булк операции+отлов ошибок
Yaroslav
Кейс - из 100 тыс записей 57 зафакапились, тут либо откатить данные нужно, либо куда-то лог сложить и проверять их
Yaroslav
Хотя монга, имхо, это не за транзакции, а за свободу хранения)))
Yaroslav
А не рассматривали вариант со смены архитектуры
Yaroslav
К примеру все задачи записи отправлять в rabbit, а моего записывать паралельно в потоке по 1 записи
Yaroslav
Тут конечно ботлнек будет возможно с количеством задач, но в случае чего вы можете по 1 задаче заново в очередь на повторную запись в случае ошибки или кого либо другого неудовлетворяющей концовки
Vlad
как бороться с гонкой условий?
Nick
снаружи ктото убивает (code=killed) сигналом, скорее всего OOM killer убивает изза нехватки памяти
Nick
как бороться с гонкой условий?
гонкой каких условий?
Mike
Такой вопрос: Если я хочу вытащить дату с вот таким значением: {_date:"2007-03-13T19:46:00.000+00:00"} какой командой это необходимо сделать допустим в компас консоли: (ну и не только в ней)
Mike
Mike
Ilya
ISODate("...")
Mike
ISODate("...")
не работает
Mike
либо скиньте конкретное решение
Ilya
поле _date - какой формат у вас?
Mike
специально ниче не делал
Ilya
я имею ввиду если в компасе редактировать нажать на документе там будет тип Date?
Mike
имею ввиду новые таймсерии
Ilya