Alexandrr
я просто использую golang и у меня в драйвере нету explain(), так что приходится тестить в mongosh возможно на js тоже убрали
я вроде видел вариант с исполнением через .command("explain") или как-то так https://www.npmjs.com/package/mongodb-explain-plan-model
Дмитрий
Дополнительные модули🥴 почему они убрали из офф либы этот метод🥺
Phil
Дополнительные модули🥴 почему они убрали из офф либы этот метод🥺
не знаю, из кода запускать действительно было бы удобнее, чем переписывать запрос
Phil
А golang тоже использует ноду или я ошибаюсь?
нет там отдельный оффициальный драйвер https://github.com/mongodb/mongo-go-driver но у монги очень хорошая команда, которая делает драйверы, так что во всех языках там список методов одинаковый, потому что одна спека
Phil
но explain() у меня тоже нет)
of Astora 𒉭
добрый вечер не подскажите какой аналог есть у ejs как у hbs {{#each}} для перебора списков, которые идут с дб
of Astora 𒉭
чем не подходит обычный цикл foreach?
не работает, либо не правильно юзаю
of Astora 𒉭
Nick
эм, вижу фронт, разговор о монге, т.е. про бэк. Вы должны гдето дернуть запрос к монге, получить ответ и из него наполнить модель для отрисовки на фронте. Собсна наполнение модели где?
Nick
а как дернуть запрос? в ejs только недавно, поэтому чуть сложно
тут уже вам не подскажу, могу отправить только туторы поискать ejs+mongo, первый гуглеж выдал https://stackoverflow.com/questions/50997071/passing-mongodb-data-into-ejs-with-node-js но там видно что работа с монгой идет за апишкой
麻倉あさくら葉よう
Пожскажите, в монге ок хранить большие документы? В постгие например не ок
麻倉あさくら葉よう
Где вообще можно почитать про внутренности монги?
Daniil
Пожскажите, в монге ок хранить большие документы? В постгие например не ок
что значит "ок" или "не ок"? Есть ограничение 16мб на размер документа, все что меньше этого "ок"
麻倉あさくら葉よう
В постре например другое. Можно гиг в одну колонку засунуть, но она его сожмет, разобьет и распихает по файлам
麻倉あさくら葉よう
По итогу туда-сюда гонять это разжимать/сжимать бить/соединять
Nick
Пожскажите, в монге ок хранить большие документы? В постгие например не ок
Для хранения блобов и в частности файлов в монге есть спека gridfs https://www.mongodb.com/docs/manual/core/gridfs/
Nick
В постре например другое. Можно гиг в одну колонку засунуть, но она его сожмет, разобьет и распихает по файлам
Аналогично работает гридфс, только не жмет, только разбивает и склеивает в чанки по 16 мб. В общем случае базы нормально не будут работать с бинарями больших размеров и эту задачу надо отдавать системам по работе с файлами, тем же аналогам S3, а в базе хранить пути
麻倉あさくら葉よう
Вообще что по монге можно почитать? Как у нее сторадж работает?
Nick
Вообще что по монге можно почитать? Как у нее сторадж работает?
https://www.mongodb.com/docs/manual/core/storage-engines/ сейчас испрльзует wired tiger
麻倉あさくら葉よう
А как под капотом?
麻倉あさくら葉よう
Что-то сообщения тупят в телеге
麻倉あさくら葉よう
Ну это все равно спека по апи
Alexey
Всем привет, пытаюсь сделать битовые операции над массивом при апсерте и все вроде бы хорошо, только поле при вставке определяется как Object, а не как Array, можете подсказать плиз, как можно это поправить ? Код db.getCollection("test").update( {"_id": ObjectId("5f469a9997f3d85326a1542c")}, { $bit: {"array.0": {or: 2}, "array.1": {or: 4}}, }, {upsert: true}) результат на скриншоте, заранее спасибо
yopp
А как под капотом?
Смотря что именно интересует. Конечное хранилище сейчас по-умолчанию wiredtiger. Кроме оффициальной документации информации о нём не так уж и много http://source.wiredtiger.com/11.0.0/arch-index.html очень старые презентации https://www.slideshare.net/NorbertoLeite/mongodb-wiredtiger-internals https://www.slideshare.net/mongodb/mongo-db-wiredtigerwebinar
Nick
Ну почему не жмёт, у коллекции с чанками можно включить любую из поддерживаемых компрессий: zstd, zlib, snappy
Перед разбиением не жмет, как это было описано для постгры. А так да дефолтная компрессия приятная штука, о которой периодически просто забываешь)
Владимир
В списке загрузок нет Ubuntu 22.04 Подскажите станет ли MongoDB Community Server дистрибутив под Ubuntu 20.04 на Ubuntu 22.04?
Владимир
не будет ли качель?
Daniil
В списке загрузок нет Ubuntu 22.04 Подскажите станет ли MongoDB Community Server дистрибутив под Ubuntu 20.04 на Ubuntu 22.04?
последний раз не встала, особо не разбирался, но там была какая то проблема на тот момент, откатился просто на 20.04
Константин
Коллеги подскажите пожалуйста кто то уже пробовал в проме новую 6ю версию? Сейчас стоит выбор между postgre на базе jsonb или монго.. В новой версии интесный функционал появился но есть опасения касательно стабильности
Nick
Да в проде пару месяцев крутим 6, полёт нормальный
Производительность по сравнению с пятой версией на ваших кейсах улучшилась? И как если конкретные примеры есть
Константин
@fletcherist Тоже оч интересно, если можете поделиться доменом/в каком кейсе используете (логи, управление категориями например)
Константин
И конфигурацией кластера.. (1 актив 2 реплики например). Присоединюсь к вопросу @yatoba по производительности делали какие то тесты? А то в сети только статья за 2015год где рассказывают как новая postgre уделывает mdb
Nick
И конфигурацией кластера.. (1 актив 2 реплики например). Присоединюсь к вопросу @yatoba по производительности делали какие то тесты? А то в сети только статья за 2015год где рассказывают как новая postgre уделывает mdb
тут важно понимать, что сравнивать две разные БД с разным подходом очень сложно, если не задать как минимум набор кейсов и критерией по которым ведется сравнение. А такто можно сказать что что-то в ПГ работает просто успер быстро, но оно то вам и не пригодится, а вот ключевая для вас потребность там будет хуже при подгонке структуры БД под ваши хотелки. Аналогично можно и в обратную сторону - монга увы не идеальное решение
Константин
Интересен кейс именно работы с jsonb без схем, что postgre в теории тоже позволяет
Константин
Т.е новые версии позволяют работать как nosql, есть определённые проблемы с хранение данных больше 2кб в поле, но и их планировали решить в последних версиях
Константин
Для себя пытаюсь найти плюсы от mdb кроме более лёгкого администрирования и переключения реплик. Основной сейчас вопрос к производительности.
Alexandrr
Для себя пытаюсь найти плюсы от mdb кроме более лёгкого администрирования и переключения реплик. Основной сейчас вопрос к производительности.
что бы не задаваться такими простыми вопросами, нужно следующее: 1. изучить основы транзакций каждой из БД или 2. провести зеркальные тесты на одинаковых машинах
麻倉あさくら葉よう
Т.е новые версии позволяют работать как nosql, есть определённые проблемы с хранение данных больше 2кб в поле, но и их планировали решить в последних версиях
Это не проблема, а особенность хранения. Это можно поменять. Но для этого надо перекомпилить postgres с новым page size и потом увеличить трешхолд у тост тюпла
麻倉あさくら葉よう
По идее 16mb page size и какие-нибудь 200 кб трешхолда уже можно сравнивать с монгой
麻倉あさくら葉よう
Но это только теория. Я не пробовал
Ravshan
доброго времени. Может кто объяснить в чем суть шардов в монго с роутерами и тд? я сейчас сижу на репликах без шардов и роутеров под них. Увидел схемы с шардами роутерами конфиг серверами, в чём их ап?
Phil
Производительность по сравнению с пятой версией на ваших кейсах улучшилась? И как если конкретные примеры есть
у меня, к сожалению, нет такого опыта, тк переписывали проект с графовой базы данных вообще и есть только бенчмарки относительно неё. ну а так сетап 1 мастер 2 реплики дефолтный держит наши скромные 200-300рпс без проблем. радует то, что время ответа не прыгает непредсказуемо, как это было обычно на 3, 4 версии монги при параллельных запросах. тут вроде держится в границах допустимого
Ольга
Доброе утро. Помогите пожалуйста разобраться в чем юмор. Делаю поиск user по email, но мне находит user с абсолютно другим email
Дмитрий
Вы точно там ищите? Вы dbUsers в ту коллекцию запрос отправляет?🤔
Нет разницы, куда он запрос отправляет: если фильтр ({email}) так себя ведёт
Ольга
Вы точно там ищите? Вы dbUsers в ту коллекцию запрос отправляет?🤔
разве важно в какую? я отправляю конкретный email, а он присылает мне user с другим email.
Ольга
Всем спасибо, не поняла в чем был юмор, но вроде с надцатой попытки и после перегрузки всего чего только можно выдало верный поиск.
Ольга
А если указать ещё и name? Такая же история?
вот по name сразу искало все верно
Дмитрий
Странно очень
Дмитрий
Дичь какая
Ольга
я тоже не поняла, по name работало,а по email нет. Ну да ладно, перекрестились и поехали дальше)
Дмитрий
С богом!
Ольга
С богом!
)) спасибо
Дмитрий
И вы это так оставите?)!
Дмитрий
Это интересный случай однако
Дмитрий
Дмитрий
@ozhurova у вас нигде null нету?
Ольга
@ozhurova у вас нигде null нету?
могло быть... уже не скажу, так как дропнула коллекцию, но вероятно были null
Ольга
Ну если сейчас все работает это отлично :)
да, пробовала уже несколько раз и все ок.
Red
подскажите плиз как из epmuserwalletreloads агрегировать в результат только те поля, которые я хочу [ { $lookup: { from: "epmuserwalletreloads", localField: "refferenceId", foreignField: "reloadOrderId", as: "epmuserwalletreloads", }, }, { $match: { $and: [ { "epmuserwalletreloads.processType": "Cashout", }, { "epmuserwalletreloads.epmId": ObjectID(userId), }, ], }, }, { $unwind: { path: "$epmuserwalletreloads", preserveNullAndEmptyArrays: false, }, }, { $sort: { createdOn: -1 } }, ]