Nick
Да
да можно, добавляете стедж перед скипом {$sort: {field:1}}
Нурлан
ребят проверьте плиз я правильно создал индекс , чтоб документ удалялся через 2 минуты
Нурлан
Нурлан
Нурлан
тоесть индекс есть
Нурлан
Нурлан
я хочу чтоб TTL установился
Нурлан
но блин чёт никак не лезет, и то пересмотрел и почитал
Нурлан
email также в ковычках стоял
Нурлан
плиз хелпаните
Andrei
А при чем тут index и email
Andrei
Expiresafter удаляет документ
Andrei
Этот индекс надо на поле с датой ставить
Andrei
Например createdAt
Andrei
It’s a very specific type of index that exists on a single field and has one purpose: removing documents that have reached the end of their pre-determined time to live (TTL). They’re created by passing the special expireAfterSeconds option on index builds: db.eventlog.createIndex( { "createdTime": 1 }, { expireAfterSeconds: 3600 } ) Once every 60 seconds Mongo runs a background task to remove any documents in the collection whose createdTime + expiresAfterSeconds is smaller than the current time.
Anton
Привет! Не запилили еще зеркало репозиториев?
Al
Как реализовать поиск и сортировку через монго?
🅰️nimeCoder
поиск глянь там вроде full search, только там лимиты есть, вроде один индекс на коллекцию
yopp
Привет! Не запилили еще зеркало репозиториев?
Почти :) Можете пока потестировать https://mirror.db-ai.co
Anton
Почти :) Можете пока потестировать https://mirror.db-ai.co
# dnf update mongodb-org mongodb dnf repo 0.0 B/s | 0 B 00:00 Ошибка: Не удалось загрузить метаданные для репозитория «mongodb»: repomd.xml parser error: Parse error at line: 1 (Extra content at the end of the document )
Anonymous
Добрый день. Есть стринговое поле, которое хранит дату. Подскажите, поажулуйста, как мне при поиск на ходу кастануть это поле в Date и фильтрануть по нему?
Anonymous
Псевдокод
Александр
Там исо формат ?
Anonymous
А зачем в стринг дату конвертить?
Чтобы сделать по нему поиск
Александр
Чтобы сделать по нему поиск
Данные { "_id" : ObjectId("613b6f94272a50ce7c777549"), "dateProperty" : "2021-09-06T12:36:41.555Z" } Запрос { $lte: [ {$dateFromString: {dateString: '$propertyName'}}, ISODate('2022-01-01T00:00:00.000Z') ], },
Александр
спасибо
Совет, храните лучше юникстайм(таймштамп)
Джованни
Добрый день всем! Прошу помощи, не получается включить индексы и запросы в монго идут неправильно : (Java:Spring)
Джованни
За помощь не обижу, только помогите прошу
Nikita
Подскажите пожалуйста. Есть CompoundIndex в коллекции, сделали чтобы не было дупликатов записей у которых идентичные 4 поля, соответственно когда сохраняем список документов, дубликаты пропускаются. Как сделать так чтобы дубликаты перезаписывались? TIME;CODE;SCOPE;TYPE;LOCALE;TEXT 2022-06-10 16:35:45;8002;XXXXXX;EQUIPMENT;de;Modelljahrcode 2022-06-11 11:35:45;8002;XXXXXX;EQUIPMENT;de;Modelljahrcode last В данном случае вторая строка в CSV это уже дубль, так как уникальность идет по всем полям кроме нулевого и последнего. и надо чтобы она сохранилась в коллекцию поверх, а не скипнулась. Смотрел в сторону Upsert, но я так понял они тоже не помогут при дупликатах. Если что при сохранении стоит параметр UNORDERED, чтоб не падать на ошибках.
Alexey
Коллеги, привет! Нарисовалась проблема и я хочу посоветоваться с вами. Есть коллекция на 400 Гб на сервере, где 16 Гб ОЗУ (10 занято постоянно) и чуть меньше 300 Гб свободной дисковой памяти. Мне нужно повесить DateTime индекс в этой коллекции, поле для которого есть в каждой записи. В данных условиях монга переварит создание такого индекса? Можно как-то оценить время поднятия индекса? Что может улучшить ситуацию и облегчить создание этого индекса?
Vlad
Привет. Никак не могу нагуглить следующий performance тест, может быть вы поможете? Есть у нас какая-то SQL БД (допустим, постгря), и есть монга. В SQL базе есть две таблички с отношением One-To-Many, в Монге - одна коллекция с вложенным внутрь тем, что Many. И там и там исполняют запрос на чтение данных. В SQL соответственно будет SELECT + JOIN, в Монге просто .find() Кто быстрее? И на каких порядках? Т.е. цель сравнить чтение SQL 1 JOIN и MongoDB 1 Collection with embedded documents
Nick
Привет. Никак не могу нагуглить следующий performance тест, может быть вы поможете? Есть у нас какая-то SQL БД (допустим, постгря), и есть монга. В SQL базе есть две таблички с отношением One-To-Many, в Монге - одна коллекция с вложенным внутрь тем, что Many. И там и там исполняют запрос на чтение данных. В SQL соответственно будет SELECT + JOIN, в Монге просто .find() Кто быстрее? И на каких порядках? Т.е. цель сравнить чтение SQL 1 JOIN и MongoDB 1 Collection with embedded documents
как повезет, влияющих параметров много и можно нарисовать любые цифры, если будет поставлена задача. В общем случае все упрется в наличие индексов и объеме прочитываемых данных - т.е. в чистом виде нагрузка на диски. В монге минус чтение связанной коллекции, но это не всегда однозначно говорит о том что это будет быстрее
Illia
Привет, у меня вопрос про compound index. Я в монгодб храню сообщения, они привязаны к чатам. Каждое сообщение имеет время. Фильтрация производится всегда по чату, и часто по времени (chat_id, created). Подходит ли данный случай под создание compound index на чат-ид и created? Или если учитывать, что чат ид используется чаще, их нужно создавать отдельно?
Illia
Исходя из этого параграфа документации: In addition to supporting queries that match on all the index fields, compound indexes can support queries that match on the prefix of the index fields. That is, the index supports queries on the item field as well as both item and stock fields: Предположу, что нужно создавать compound? Верно?
𝓶𝓲𝔁51𝓺2
https://mirror.yandex.ru/mirrors/repo.mongodb.org/
Там нет пакетов для ubuntu focal 20.04
Влад
Там нет пакетов для ubuntu focal 20.04
Я думаю что ты плохо искал
Null
Привет всем, как я могу искать слово в mongo db, но я хочу, чтобы слово, которое я ищу, искалось только из определенного свойства. вот типа так : collection.find ({property: value})
𝓶𝓲𝔁51𝓺2
Я думаю что ты плохо искал
Пустые каталоги же пакетов нет. А вот для 18 всё на месте
Влад
https://mirror.yandex.ru/mirrors/repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/
𝓶𝓲𝔁51𝓺2
https://mirror.yandex.ru/mirrors/repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/
В mirrors/repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-amd64 пусто
Влад
А слушай рили. А как я тогда установил?)
𝓶𝓲𝔁51𝓺2
indicozy
Слушайте, а как лучше всего обновлять схему в проде? Я сделал большие изменения в схеме и как лучше всего его обновить? Скачать как JSON, обновить схему через код и после импортировать?
Alexander
если я правильно понял о чем идет речь
Igor
Добрый день, можно ли получить запросом список организаций всех документов? Без указания их родителя
idk
Добрый день, можно ли получить запросом список организаций всех документов? Без указания их родителя
типо Array<organizations>? Тогда агрегациями. Хотя мне кажется тут было бы лучше создать новую коллекцию, с рефом
Тимур
всем привет, подскажите пж, какой запрос написать, чтобы искало все записи, в которых внутри types есть единица? Пример записи: {_id: 1, types: [1, 2, 3]}
Al
Привет, может кто помочь/подсказать, как сделать поиск в монго, поиск по инпуту так сказать
Al
$text: { $search: req.body }, пробовал такое, не работает
Тимур
{types: {$in: [1]}
ну так это же по факту означает [1,2,3] in [1], а это false, разве нет?
Тимур
поидеи нет, попробуй
работает, спасибо
ОЛегсей
всем привет, возник вопрос, а как форматировать полученные данные, что с ними можно было дальше работать? Имею ввиду вывод их без кавычек, а в Классическом виде язык питон
Al
Всем привет, возник вопрос, можно ли задать в populate() логику? Типа выводить только элементы с этим содержанием Пример: Есть коллекция городов, Абкай,Аксай,Питер,Москва Она привязана к другой коллекции с отзывами, и я хочу например вывести отзывы с Москвы, и он мне выдает МОскву и остальные null
Nick
всем привет, возник вопрос, а как форматировать полученные данные, что с ними можно было дальше работать? Имею ввиду вывод их без кавычек, а в Классическом виде язык питон
это вопрос к тому как вы с ответом работаете, обычно результат приходит в виде объектов и там только ключи и значения как они сохранены в базе. Если туда умудрились с кавычками положить, то надо даныне чистить
🅰️nimeCoder
имеется запрос: .findOne({ subject: ObjectId("62b0e573da9c1442327661f3"), _id: { $gt: ObjectId("62b39745a0712ba87dbd7726") } }, null, { sort: { _id: 1 } }) Сам смысл таков: Ищем документ с нужным subject, и с _id выше (свежее, больше) чем 62b39745a0712ba87dbd7726 Хочу сделать чтобы оно делало выборку первого докуменит из коллекции c совпавшим subject, если не смогло найти _id: { $gt: ObjectId("62b39745a0712ba87dbd7726") } Пробовал через $or но оно похоже оптимизирует и в итоге выборка всегда не по $gt, т.е вот такой код работает неверно: .findOne({ $or: [{ subject: ObjectId("62b0e573da9c1442327661f3"), _id: { $gt: ObjectId("62b39745a0712ba87dbd7726") } }, { subject: ObjectId("62b0e573da9c1442327661f3") }] }, null, { sort: { _id: 1 } }) в итоге он работает так, как: .findOne({ subject: ObjectId("62b0e573da9c1442327661f3") }, null, { sort: { _id: 1 } }) sort в прицнипе можно опустить, его я писал чтоб получить самый старый документ, но тк условие $or не работает нормально, то смысла нет
Max
Коллеги, подскажите, setUnion для массивов объектов применим?
Evgeny 962
Доброе. Я правильно понимаю, если указать пустую строку в фильтре, он будет искать именно пустую строку?
Evgeny 962
Нужно при пустом значении все записи возвращать, видимо обработку делать до запроса и запрос без этого поля формировать?
Al
Пивет всем, как сделать условие через агрегацию? идет поиск по math{id}.lookup(расскрывается ref).unwind.lookup(еще один реф).unwind() и из последнего расскрытого, нужно что-бы его id сравнивалось с переменнно req.query
Yehor
Всем добрый день, подскажите с связью one-to-many с помощью pymongo через ObjectId, как это правильно делать?