Shokha
Спасибо вам большое😊👍
Nick
Исходных данных это есть $group?
Исходные - то что в базе
Шох
Добрый вечер. Ребята какие есть варианты для хранение больших данных в коллекции? к примеру у меня за день приходит больше 400к данных, а по стандарту в монго 16МБ хранит...
Шох
16мб максимум на один документ, лимита по документам считай что нет
Да но у меня один документ это один день, а за день приходит больше данных чем 16 мб
Nick
Например собирать пакеты по тыще записей и прошивать их номерами
Шох
А есть вообще функция которое проверяет забит ли документ?
Nick
А есть вообще функция которое проверяет забит ли документ?
Я не видел, там особенность в том что размер считается по документу переведеному в bson формат, который немного компактнее чем json, поэтому можно примерно подсчитывать размер json и ориентироваться на него.
Nick
А есть вообще функция которое проверяет забит ли документ?
Есть https://docs.mongodb.com/manual/reference/operator/aggregation/bsonSize/, но это для работы с уже сохраненными документами
Шох
Спасибо
Дмитрий
Коллеги, подскажите. Я хочу обновить объект так чтобы не переданные ключи удалились. Тут больше подходит replaceOne, но я использую collection.watch() чтобы отслеживать изменения и в случае с replaceOne нет информации, какие именно поля изменили значение.
Дмитрий
Выкручиваюсь так, но набор unsetKeys может быть неприлично большим. Может кто знает способ лучше?
Nick 🇺🇦
Всем привет. Подскажите пожалуйста есть ли быстрый способ импортировать xml файл в Mongo db ? Чтоб не парсить его в json.
Nick 🇺🇦
Нет.
То есть нужно парсить?
Nick 🇺🇦
Да.
Ок понял, спасибо.
Stepan
Помогите решить задачку. Делаю агрегацию по коробкам. Теперь нужно отфильтровать агрегацию только по тем коробкам в которых в заказе (orderIds - связанное с заказами поле) есть хотя бы один заказ с userId ===1 . Т.е. фильтр нужен по массиву вложенных сущьностей. Это возможно? sql без труда решает задачку. Здесь не пойму как…
Дмитрий
В конечном счёте нужно именно видеть что поменялось — делаю SDK с LiveQuery, там это важно
Ghost
Всем здравствуйте. Я решил глянуть на MongoDB, из-за этих MERN, MEAN. Одно понял, что в MongoDB нет структуры. Но хотелось бы понять, в каких проектах он используется. Как я понял, что вроде для блога, а что еще можно?
MDWIT
я для датасетов использую 😄
Ghost
для хранения данных у которых нет четкой структуры, но по которым нужен быстрый поиск по любому из существующих полей
Извините, но я бы хотел хоть один пример увидеть... Не обязательно из реального проекта. Для меня это получается, что тут просто свалка данных со структуризованными полями и больше ничего.
MDWIT
Извините, но я бы хотел хоть один пример увидеть... Не обязательно из реального проекта. Для меня это получается, что тут просто свалка данных со структуризованными полями и больше ничего.
https://kinopoiskdev.docs.apiary.io/ документация по одному из моих проектов на монге. Тут мускул уводит проц в космос, а монга вообще практически не нагружает его и работает при этом значительно быстрее и хранить в ней данные проще
Andriy
Всем привет, столкнулся с проблемой частичного поиска по тексту в монго. Я создал индекс типа текст, но иногда для поиска нужно больше 10-15-ти секунд. Кто знает как можно решить проблему? Пробовал подключить elasticsearch, но все плагины которые коннектят ее с монго устарели, возможно есть какая то альтернатива? Спасибо
Aziz
Привет! Кто знает как устранить проблему 0.1+0.2 при $inc ? Понятно дело когда просто save - мы можем на сервере предстваить в виде (0.1*1e10+0.2*1e10)/1e10 и сохранить, а вот инкриминировать не знаю как (
Aziz
Спасибо админ, вот же жесть, теперь везде эту обертку придется вставлять
Nick
Спасибо админ, вот же жесть, теперь везде эту обертку придется вставлять
Увы, если вам критично это все, то придется платить
Nick
Ну или посмотреть в сторону баз, где есть нативная поддеожка децимал и денежных типов
Leonid
Всем привет ребята! Помогите, пожалуйста, прописать корректно поля в моделях. Есть модель User и CustomerOrganization отношение: Многие(CustomerOrganization) к одному(User) я сделал: - в моделе User поле "customerOrganizations" - в моделе customerOrganizations поле "userId" Что требуется: - мне при запросе юзера (getUserById) нужно подтянуть в поле все организации у которых есть в поле userId id этого юзера - или чтобы монго сама агрегацию делала это без запроса. благодарен за любую помощь 👍
Alexey
Господа, всем привет Работаю с базой данных MongoDB и библиотекой mongoose, появилась проблема В Модели есть массив из ObjectId, нужно взять все этим модели, однако эти ObjectId привязаны к другим разным моделям. Populate в данном случае не работает. Как мне взять объекты по этим ID не перебирая в цикле Заранее благодарен за помощь
Alexey
НУ можно что-то такое попробовать. Но вообще звучит как идеальный кейс для populate https://stackoverflow.com/questions/8303900/mongodb-mongoose-findmany-find-all-documents-with-ids-listed-in-array
Это правда, но у меня как раз проблема в том, что эти id не одной, из разных моделей, нужно организовать поиск по всей БД
stay
Это правда, но у меня как раз проблема в том, что эти id не одной, из разных моделей, нужно организовать поиск по всей БД
А, я понял. Ого, звучит как что-то очень неконсистентное. Не знаю даже как это правильно сделать
Alexey
А, я понял. Ого, звучит как что-то очень неконсистентное. Не знаю даже как это правильно сделать
Разные сущности привязаны к одному объекту и их id в одном массиве (это урок и типы уроков(опрос, текстовый, видео)). Это разные модели, может есть идея как правильно подобный функционал реализовать?
Alexey
Спасибо, сейчас почитаю
Alexey
Спасибо, сейчас почитаю
Решил проблему с помощью этой ссылки, в ответах подобная была ситуация, может кому полезно будет https://www.reddit.com/r/node/comments/ceqjg3/how_to_dynamically_populate_array_of_objects_in/
Egor
Здравствуйте. Не могу разобраться, как обновлять много документов коллекции? Есть массив с объектами. В каждом объекте есть _id и еще несколько полей, которые нужно записать (в каждом объекте разные) Как правильно обновить документы по этому массиву? Сам придумал только как на скриншоте, но выглядит ведь это убого, и в массиве может быть многовато объектов.
Egor
Ilya
for await...
Egor
for await...
А как быть то?
Ilya
ну, for await для асинхронных генераторов нужон
Egor
ну, for await для асинхронных генераторов нужон
Да, я сейчас почитал. Он явно лишний. А с обработкой массива посоветуешь что нибудь?
Stepan
А как быть то?
await Promise.all(data.map(el=>el.doAsyncWork())) Как вариант.
Egor
есть же .updateMany у коллекции
Есть. А как применить его, если во всех входящих объектах разные поля? И их не 10 штук чтобы захардкодить...
Ваня
У меня есть масив пользователей, мне нужно сделать поиск не по всему имени а у меня будет приходить несколько букв и с помощью них нужно найти пользователя у которого в имени есть эти буквы, возможно ли так сделать в mongoose?
Ilya
в монгусе можно регулярками искать
Ваня
Спасибо
Aleksandr
Привет! Подскажите пожалуйста, есть старая монга 3.6.5 в единственном экземпляре, с базой чуть менее 1Тб. Как лучше всего мигрировать данные на новую монгу 4.4.6 в варианте репликасет?
yopp
https://docs.mongodb.com/v4.0/release-notes/4.0-upgrade-standalone/
yopp
Если простоя хочется избежать, то сначала сделать реплику из 3.6.5 и потом уже rolling upgrade (3.6 -> 4.0 -> 4.2 -> 4.4)
yopp
https://docs.mongodb.com/v4.0/release-notes/4.0-upgrade-replica-set/
Qahramon
Привет всем. Кто-нибудь практиковал подключение к нескольким базам данных в mongoose? Можете ли вы поделиться своими лучшими практиками?
Qahramon
Я слышал, что индексная нотация в этом случае не работает
Aleksandr
Если простоя хочется избежать, то сначала сделать реплику из 3.6.5 и потом уже rolling upgrade (3.6 -> 4.0 -> 4.2 -> 4.4)
там задача мигрировать с одного старого железного сервера в одном ДЦ в формате standalone на набор других серверов в другом ДЦ в формате rs. я понял про вариант сделать репликасет из 3.6 и потом его апгрейдить до 4.4.х, а допустимо ли сначала standalone обновить до 4.4 а потом сделать rs? и потом погасить старый сервак
yopp
и так и так можно
yopp
обновить standalone быстрее будет
test
Ребят привет
test
как можно в Linux настроить backup
test
каждый день допустим
test
cronjob
в самом linux?
test
cronjob
o thx very much :)
yopp
если в вашем дистрибутиве есть systemd, то надёжнее использовать таймеры
yopp
там есть базовые инструменты для обработки ошибок (retry, backoff) и хоть какой-то репортинг
yopp
> https://docs.mongodb.com/manual/core/backups/
Aleksandr
как можно в Linux настроить backup
https://www.percona.com/blog/2020/09/18/mongodb-backup-best-practices/
Aleksandr