Artem
Artem
Александр
Привет, зачем нужен монго если есть в Postgres тип json и bson?)
Во-первых он jsonb, и это не то же самое что bson. Во-вторых шардирование из коробки. Очень круто когда оно есть, и в любой непонятной ситуации, админы могут закидать железом проблемы с производительностью или нехваткой места. Без привлечения разработчиков. Постгрес тоже в эту сторону движется, но через сторонние дополнения, которые не прошли такую же обкатку как монга
Oleg
Подскажите, плз, как запросить у сервера монги в каком режиме он работает (standalone, replicaset и т.д.)?
Есть код, который рассчитан на реплика-сет и создаёт транзакции.
У пользователей Standalone он будет сыпаться, хочу костыль написать, но не понимаю каким запросом проверить тип сервера.
El Pinguino
Anton
Можете пожалуйста привести юзкейсы когда стоит использовать транзакции монги
Александр
Можете пожалуйста привести юзкейсы когда стоит использовать транзакции монги
любая задача где нужно провести изменение сразу над несколькими документами, и одно без другого не имеет смысла.
Классический пример - перевод денег. Юзер 1 переводит 100р юзеру 2, значит меняем баланс юзера 1, меняем баланс юзера 2, и делаем об этом запись в логе транзакций.
Если на любом из этапов что-то пошло не так, то всё отменяется.
Anton
Max
Привет! подскажите тулу для рисования / проектирования схемы коллекций MongoDB
Dezmunt
Как можно при updateOne в масиве использовать и $pull и $addToSet?
Nick
Dezmunt
Окай
Nick
а, тут же еще подвезли агрегации в апдейты в новых версиях, надо будет их использовать
Nick
чет совсем позабыл
Nick
Окай
https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Nick
это если у вас монга 4.2+
соответственно там делаете два стейджа один с пулом второй с аддТуСет
Антон
А есть какой то готовый хостинг монги в РФ? Чтоб поднимался кластер из 3 инстансов. Типа атласа, но географически ближе. Нашел у мейл, но там 1 инстанс без реплики стоит 1400р)
Александр
Александр
а сколько вы хотите чтобы оно стоило?
Антон
Антон
а таких https://www.m-clusters.com/ знает кто то? но это не рф конечно
Гена
всем привет
подскажите на сколько стоит своих денег интерпрайз версия монги?
никгде не могу найти живые мнения по нему
yopp
Гена
там основное это поддержка
ну то есть если вопрос в резервном копировании то решение от перконы в целом ок - https://www.percona.com/doc/percona-backup-mongodb/index.html
yopp
ну и ops manager конечно
Гена
ну опс менеджер как мониторинг может только привлечь
Развертывание монги через него не особо интересует
ㅤ
Кто шарит в MariaDB?
ㅤ
Мне скинули эту группу 😂
ㅤ
Дайте другую, где можно узнать
yopp
@dba_ru
Антон
подскажите пожалуйста как сделать $or правильно? мне надо выбрать записи либо у которых нет поля messages, либо у которых в этом поле (это поле - массив) последний элемент не равен какому то значению
Антон
что то не получается совместить $eq $slice $exists
Антон
или это через $elemMatch как то можно? только как сравнить именно последний элемент массива
Alexey
Как упростить?
{ $and: [ { tags: "ssl" }, { tags: "security" } ] } ->
{ tags: { $all: [ "ssl" , "security" ] } }
{ $and: [ { tags.name: "a" }, { tags.name: "b" } ] } -> ?
Kenan
Alexey
Dezmunt
yopp
yopp
[1,3,2] U [2] -> [1,3,2]
Dezmunt
Ну это ладно, но вообще печально что агрегации так работают, даже тот же push работает через группы
yopp
Вас похожие названия запутали
yopp
$push в AF это аккумулятор, а не операция над массивом
yopp
Это механизм той самой агрегации данных, когда мы из большого числа документов делаем меньшее число документов
yopp
Грубо говоря только язык условий совпадает между $match и query выражений в find/findAndModify
yopp
Всё остальное в AF имеет собственный смысл, который иногда пересекается с языком трансформаций из findAndModify
Viktar
Viktar
aggregation framework ?
Антон
Дара
всем привет
У меня есть коллекция с 160м документами. И мне надо посчитать количество документов по определенным фильтрам. Но этот процесс занимает так много времени около 10 минут.
Как можно оптимизировать?
Viktor
Подскажите как _id я могу использовать только hexadecimal в objectId?
Pan
как я lookupом могу вытянуть продукты ?
Pan
yopp
yopp
Kenan
yopp
Kenan
не строкой
Pan
это json, они в ObjectId
Дара
Как часто?
Это все зависитт от конечного пользователя
Pan
Дара
В таком случае по этим фильтрам необходимо построить индексы
Я сделал, но один индекс вызвает проблемы. Не могу построить индекс для ординарного поля и встроенного поля в одном индексе. Когда делаю запрос в таком ввиде
{$and: [
{t: {$gte:"2020-09-07T00:00:00", $lte: "2020-09014T23:59:59" }},
{n: {$in:[1006]}},
{"d.r": {$eq:"non-staff"}}
]}
не видно индекса, то есть он не видит созданный мной индекс.
Вот скрин моих созданных индексов
Viktar
Дара
Дара
Viktor
Ребят подскажите , как можно реализовать вставку в монгу более эфективно. Мне нужна вставка только если нет документа. Пробовал вытягивать по полу id (не _id) и если null то вставлять. Пробовал через upsert , тоесть апдейтил если есть и вставлял если нет. Так вот с увеличением числа документов в коллекции запись становится всё дольше и дольше . Так как мне нужно положить 5 миллионов записей , производительность вставки всё падает и падает. В первые 5 минут успивает код вставить 60 000 , во вторые 26 000 , и так всё меньше и меньше . Как то можно в монге реализовать без такого падения производительности
yopp
yopp
Дара