Stanislav
Никто не пробовал из драйвера java строить запрос на сравнение дат? Вот я пытаюсь построить этот запрос: .find({"date" : { "$gte" : ISODate("1983-07-20T22:00:00Z")}}) так он выглядит в моей версии на java Query(where("date").lte( closeDate.atZone(UTC).toLocalDateTime().toLocalDate() )) Где closeDate - Instant получаю такой запрос: Query: { "date" : { "$gt" : { "$java" : 2020-12-04T05:34:12 } } }, Fields: {}, Sort: {} что само-собой монгой не воспринимается. Решил передавать тогда просто строку: Query: { "date" : { "$lte" : "2020-12-04T05:34:12"}}, Fields: {}, Sort: {} Но сравнение тогда все время выдает False. Может кто сталкивался с подобной проблемой..
Stanislav
Сравниваю с этим полем: https://i.imgur.com/j95Ia21.png
Artem
Всем привет, такой вопрос, возможно восстановить базу после её дропа?(через Монго атлас и при условии, что дампа данных нет, а данные хранились не на локалке)
Artem
нет
Ок, спасибо
Mike
Привет, после перезагрузки сервера не запускается монга. Лог длинный. Кто подскажет?
Daniil
если длинный то есть пастебин и тд
Mike
ну вы хоть выложите лог, экстрасенсы все в отпуске
ну я поэтому и спросил, готов ли кто помочь вообще. ссылка вот https://pastebin.com/VsRsDaLY
Mike
Понять бы хотя бы что такое
Nick
а это сильно будет отличаться от времени, если мы удалим эти доки из бд и запишем заново то, что пришло в массиве?
если доков не мллионы, то любой способ подойдет. Но когда вы удаляете, то на время пока не зальете новые доки, в базе ничего не будет и ваш софт должен корректно это обрабатывать, либо вы должны организовывать даунтаймы для таких работы и отключать пользователей БД. - поэтому всегда предпочтительнее использовать апдейты, либо все оборачивать транзакциями
Nick
Понять бы хотя бы что такое
https://jira.mongodb.org/browse/SERVER-30077
Nick
чтото с дисками походу
Leonid
привет. где в эксплейне агрегационного пайплайна смотреть сколько времени занимает конкретная операция?
Leonid
а вспомнил. executionStats
Leonid
спасибо. метод уточки сработал
Mike
Nick
тут особо не помогу
Mike
тут особо не помогу
вся беда что это еще на амазоновской халявной EC2 - отбекапить невозможно
Евдоким
Подскажите. В схеме есть массив объектов, внутри объектов есть ещё один вложенный массив объектов. Мне нужно удалить объект из вложенного массива, как это можно сделать? Или стоит как-нибудь изменить схему, чтобы не было такой вложенности?
Mike
тут особо не помогу
А монге сколько надо места свободного? А то на диске 1.5 гб только свободно. Может поэтому ошибка?
Nick
А монге сколько надо места свободного? А то на диске 1.5 гб только свободно. Может поэтому ошибка?
монге - надо мало, а вот вашим данным - в зависимости от того сколько их
Nick
Подскажите. В схеме есть массив объектов, внутри объектов есть ещё один вложенный массив объектов. Мне нужно удалить объект из вложенного массива, как это можно сделать? Или стоит как-нибудь изменить схему, чтобы не было такой вложенности?
с двойным вложенным массивом вроде были проблемы, точно не помню. Можете пока попробоват ьпоиграться с https://docs.mongodb.com/manual/reference/operator/projection/elemMatch/index.html но думаю удаление будет не очень простым
Konstantin
mongorestore --drop --db test /data/dump/users.bson mongodump --authenticationDatabase admin --collection=users --db=test
Nick
вам в https://t.me/nodejs_ru
Anonymous
Всем привет подскажите пожалуйста, использую express, mongoose я залогинился получил токен отправил его, всё, проверка на токен прошла в req получаю юзер id как мне теперь конкретно для этого юзера сохранять тудушки я заполняю все поля на клиенте отправляю запрос всё принимаю но мне нужно что бы я мог получать массив тудушек именно этого юзера как это сделать? или мне нужно для каждого юзер в модели юзера создавать массив типо tosolist и закидвать его тудушки туда?
Bogdan
Привет, есть способ масосво проверить наличие records в коллекции по массиву из id? Например, $in
Anatoly
Привет! Я переезжаю с Google Datastore в Mongo и у меня возник следующий вопрос. Хочется во многих коллекциях генерировать айдишник самому, сейчас это sha1 от некоторых полей. Таким образом я сделал constraint на уникальность записи по сочетанию некоторых полей. В датастор это еще помогало экономить, потому что обращения по ключу бесплатные, а поиск по индексу уже за деньги Вопрос: если я везде ключи поменяю с ObjectId на sha1(считай строка, но можно, навреное, int), то я не потеряю в скорости работы БД ?
Anatoly
В целом лучше так не делать, сделайте себе отдельное поле для этого идентификатора А вообще есть unique multikey индексы
Кстати, да, об этом не подумал. Звучит более логично unique multikey тоже сейчас посмотрю, спасибо!
Edgar
Где хранить монго дамп для проекта из гит репозитория?
Edgar
Как у вас это принято? Дамп dev энва
inqfen
В s3
Егор
Подскажите плз. Есть конкретная дата. Нужно найти записи с этой датой, или на день раньше или на день позже. Причем сначала должны идти точные результаты, потом в меньшую сторону, а потом в большую. Запрос делаю через aggregate. Это вообще возможно одним запросом?
Anatoly
А, я неправильно понял заадчу, похоже. Нужно вместо модуля сходить сначала влево от конкретной даты, а потом вправо?
Егор
По сортировке сначало записи с заданной датой, потом меньше этой даты, потом больше этой даты
Егор
запрос обычный и понятно $gte и $lte. А вот как отсортировать чтобы в выше описанном порядке было не пойму никак
Roman
Я бы добавил еще одно поле, в которое бы записал 1, если дата совпадает, 2 если дата на день меньше, 3 если дата на день больше, и потом сортировал бы по этому полю
Алим
ребят кто сталквался с проблемой с библиотекой 'config'. Беру необходимые данные для соединения с базой данных и портом соединения при помощи 'config'. Однако не может найти нужные значения
Алим
Может не тот confit импортнулся? У меня было такое
А как это так? Вроде нормально прописал, раньше работало, сейчас добавил гит и перестало (
Valera
Добрый вечер! Имеется массив из строк activeOffers в базе данных, необходимо к нему добавить новый offerID, вроде понимаю, как это делается, но, возможно, промахиваюсь по синтаксису. Подскажите, что пишу не так, язык Go
Slava
Строка 2
Slava
Напишите сет
Slava
Вы хотите определённое поле установить новле значение, в старом драйвер это был сет и в Новом тоже сет, только сегодня писал на работе на го апдейт
Daniil
Почему пущ а не set?
Потому что он добавляет в массив
Slava
Потому что он добавляет в массив
Тогда мне надо комп, нагуглю покажу как, пока с телефона)
Slava
Потому что он добавляет в массив
Написано updateOne вот я и подумал что суть задачи амдейтнуть значение поля, а суть это арреnd ещё один элемент, ок, принято
Valera
честно не вдавался в вопрос почему именно context.TODO(), но все остальные написанные мною функции для работы с БД работают с ним)
Roman
В голанг надо в функции драйвера передавать контекст. Но обычно принято передавать context.Background(), который ни на что не влияет
Roman
Вы бы показали, что в базе хранится, возможно, у вас ничего по фильтру не находит
Slava
честно не вдавался в вопрос почему именно context.TODO(), но все остальные написанные мною функции для работы с БД работают с ним)
Раньше было 2 пакета контекст и сейчас тоже. Грамотные писатьcontext. BACKGROUND() и надо разбираться почему, А-то так в джунах и останетесь
Slava
стать бы джуном :)
Ничего сложного, собесы и готово
Sardor
Ребят, как можно одним запросом искать одно значение в нескольких полях? Пример: у меня есть строка, мне нужно найти всех пользователей с таким имейлом или логином (аналогичный кейс).
Vasily
$or
Vasily
db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
Sardor
$or
спасибо!
Nick
в монге ограничение на один документ 16Мб, если нужно больше, но нет необходимости искать по содержимому документа - использоуется GridFS. Если же нужен поиск - то меняйте структуру данных, чтобы один документ был меньше размера - например разбивайте на батчи, если внутри дока массив какойто
Nick
а что в data? эти данные только хранятся или еще както используются?
Nick
гуглите mongo gridfs + ваш язык/фреймворк . GridFS фактически спека как разбивается бинарный файл на куски и как с ними работать
Anatoly
Зависит от задачи и архитектуры. Если все живет на одной машине и планируется записать 3 файла, то да, действительно проще. А если файлов десятки тысяч, этот подход перестает скейлиться
Daniil
Возьмите редис
Daniil
Не знаю правда как там дела с размером строки
Anatoly
Тоже кажется, что монго для задачи кеширования - оверкил
Роман
Добрый день. Как реализовать поиск mongoose с текстовой оценкой результата? То есть поиск по не точным данным, например с ошибками. В каком направлении копать? Нашел вот такой пакет, но не уверен, что это лучшее решение https://github.com/VassilisPallas/mongoose-fuzzy-searching