Vladimir
А версии у соседа такие же?
Vladimir
А версии у соседа такие же?
нет, где ошибка там 3.6.8 а у соседа 3.6.10, но я думал что это не сильная разница в версиях
Vladimir
да и в сети только mongo —replSetName или то что выше, иных видов записи пока не нашел
Vladimir
судя по конфигу 3.6.8, там мастер-слейв реплика, неужто такое разительное отличие от той же 3.6.10?
Vladimir
yopp
проверьте ваш файл через любой валидатор yaml
yopp
скорее всего где-то ошибка в отступах или переводах строк
Vladimir
нашел, надо было записать replSet = repl1 а не как на остальных серверах
yopp
Это ini формат
yopp
Возможно у вас сейчас конфиг не в yaml
Vladimir
Это ini формат
ааа... вот я бивень, все таки когда мозги варятся при 38.6 пару дней это вам не это
Roman
Привет такой вопрос, есть поле Map<string,number> Могу ли я в updateMany на всех value сделать -1 ?
Roman
Вот такое вот, можно ли упростить ?
Roman
𝚂𝚑𝚞𝚔𝚑𝚊
ребят как можно реализовать так чтобы значения enum зависели от другого поля схемы? Есть поле region и в зависимости от его значения можно выбирать city?
𝚂𝚑𝚞𝚔𝚑𝚊
Отдельную коллекцию cities с полем region в каждой записи. Но может ещё как-то можно
А в validate можно как-то обратиться к другому полю схемы ?
Александр
Доброго времени суток. Подскажите пожалуйста. почему не сработало ?
Viktar
Доброго времени суток. Подскажите пожалуйста. почему не сработало ?
Уникальность идёт не в рамках одного документа, а в рамках коллекции.
Viktar
Т.е. в других документах не будет такого массива
Viktar
В рамках массива используйте addToSet
Александр
mongoose не может сразу убрать дубликаты из array, нужно перед этим сделать проверку ?
Viktar
https://docs.mongodb.com/manual/reference/operator/update/addToSet/
Viktar
Замените пуш на эдтусет
Viktar
я тут не силён, но я бы из первого скрина заменил бы push на addToSet и всё.
Illia
Ребят, всем привет. Перерыл весь интернет и потратил несколько дней на эту проблему. Все из-за того, что **** $push в агрегации не сохраняет порядок документов, хотя в интернете пишут, что должен. Вообщем в чем проблема: На скрине 1 результат моей агрегации. После этого мне нужно в каждом из документов отсортировать answers по value, и сделать limit в N значений в каждом массиве. Пробовал через unwind - sort - group (чтобы вернуть в прежнее состояние группировки) - push, но $push не сохраняет порядок и все херится Помогите плз!!! Или скажите плз, стоит ли вообще пытаться или это никак не сделать?
Illia
Illia
вот сама агрегация, на всякий случай
𝚂𝚑𝚞𝚔𝚑𝚊
"`0` is not a valid enum value for path role." в чем проблема?
Oleh Kopyl
Милорды, а если делать mongorestore на существующую (ту же самую) коллекцию, то документы в коллекции добавятся или произойдёт замещение? Насколько я понял из документации (скрин https://imgur.com/a/UsWvN0n) – ничего из этого не произойдёт вообще. Верно? И насколько я понял из таблицы – mongorestore не работает на MacBook m1, да? Придётся в докере что ли держать монгу на м1? https://docs.mongodb.com/database-tools/mongorestore/
yopp
А про m1, afaik должно через розетту работать
Grisha
Всем привет, можете пожалуйста посоветовать контакты спикеров по oracle или mongo? Ищем экспертов на конфу. Очень хотел найти контакты Михаила Тюленева, но не нашел.
Anonymous
Привет всем. Есть ли в MongoDB функция, которая работает, когда придет время? Нужен пример триггера. Например, мне нужно автоматически деактивировать свою учетную запись по истечении VIP-дня.
Andrew
какая именно
Вот удочка: TTL Indexes TTL indexes are special indexes that MongoDB can use to automatically remove documents from a collection after a certain amount of time. This is ideal for certain types of information like machine generated event data, logs, and session information that only need to persist in a database for a finite amount of time. Дальше в гугл 🙂
Ilya
Привет всем. Хорошая ли идея использовать MongoDB вместо или вместе с sql в интернет магазине? Основная причина, это производительность. Поскольку оптимизация фильтров для sql зачастую почти невозможна, и при одновременном выборе 20 (many-to-many, к примеру цвета, теги и тд) фильтров, скорость запроса просто ужасная. В mongodb такой проблемы нету. Но все ли будет хорошо. Какие могут быть недостатки этого подхода, с какими подводными камнями могу столкнуться?
Ilya
Релиация
Реалиция?
Санжар
Реалиция?
Она в манго слабо реализована
Ilya
Ты имеешь ввиду relation?
Ilya
Санжар
Санжар
Ilya
Санжар, да, я это понимаю, пока что не могу понять где мне это может сильно понадобиться
Санжар
Санжар, да, я это понимаю, пока что не могу понять где мне это может сильно понадобиться
Я не понимаю где тебе это не понадобиться в магазине темболее
yopp
Это очень неплохо индексируется
Ilya
А какие объёмы данных? Attribute-Value паттерн в монге можно реализовать на уровне документа
Я не сказал бы что сильно большие объемы, всего несколько тысяч товаров. Но фильтрация достаточно сложная, в sql приходиться делать 2-20 join в зависимости от выбора пользователя, и индексы уже не оказывают существенного влияния
Санжар
Как мне сказали в этом же чате ref и lookap снижает производительность
Ilya
И я так прикинул, что в целом в mongo вроде все устраивает. Но будет очень неприятно, если через 2 недели работы придется все переписывать на sql из-за непредусмотренной проблемы
Санжар
Ref и lookup? Это что?
Это то что заменяет релиацию в монго
Ilya
Ну я тестировал в mongo, там скорость хороша
yopp
https://t.me/mongodb_ru/82526
yopp
Ref и lookup? Это что?
Вам не нужны $lookup
yopp
EAV позволяет сложить все необходимые динамические аттрибуты в один массив словарей [{a: attribute_id, v: attribute_value}]. Такая структура хорошо индексируется
yopp
Так как эти аттрибуты будут хранится в документе с товаром, вам не нужны пересечения
Ilya
Select * from product LEFT JOIN product_atts as color ON product.id = atts.product_id AND atts.name = "color" LEFT JOIN product_atts as size ON product.id = atts.product_id AND atts.name = "size" ... WHERE (color.value = "blue" OR color.value = "red") AND (size.value = "small" OR size.value = "medium" OR size.value = "tiny") ... Вот такого типа запрос, при условии что у нас есть много аттрибутов (weight, length, high, garanty_time, brand и тд), работает на sql очень медленно
yopp
да
Ilya
да
Я посмотрел туториал кратко. Там же все так же будет 20 join, как и у меня?
yopp
https://mongoplayground.net/p/kvp5fSdQwZm
yopp
+ createIndex({"props.name": 1, "props.value": 1})
yopp
или например несколько размеров https://mongoplayground.net/p/KAsTfak-i7q
Ilya
https://mongoplayground.net/p/kvp5fSdQwZm
Так это ведь mongo, а не EAV sql?
yopp
Да, это к вашему вопросу решается ли это эффективно в монге
yopp
Решается :)
yopp
Гораздо проще чем в табличных хранилищах
Ilya
Не, не в этом был вопрос) Это как раз причина по которой я хочу сделать сайт с mongo, а не sql. Меня волнует другое, не будет ли потом непредвиденных проблем в других местах. Все же я ещё никогда не видел магазина на mongo
yopp
Непредвиденные проблемы всегда будут :)
Ilya
То бишь, я боюсь ситуации, когда я сделал 90% работы, а потом понял что вот для этой задачи нужно переписывать все с нуля
Shokhboz
Привет ребята. Правда ли то что на Mongo DB (mongoose) Relations (One-to-One, One-To-Many, Many-to-Many) гораздо сложнее чем на SQL?