Mansur
Привет всем. При создании полнотекстового индекса в доке пишут, что можно указать язык или несколько языков, причем для того чтобы изменить язык необходимо пересоздавать индекс. Оператор $text имеет опциональный параметр $language, в котором также можно задать язык для полнотекстового поиска. Я правильно понял, что этот параметр должен принимать значение заранее определенных языков в полнотекстовом индексе для данной коллекции или иметь значение 'none' и правила стемминга и токенизации будут игнорироваться?
Dmitriy
Добрый день. Подскажите, как мне лучше всего сделать такую манипуляцию: У меня есть документ и в нем есть массив. В массиве 200 элементов. Я хочу узнать сколько элементов в массиве но достать хочу только последние 10 ?
Sinaver
{ from: "ingredients", let: { ingredients: "$ingredients" }, pipeline: [ { $match: { $expr: { $in: ["$_id", "$$ingredients._id"] } } }, ], as: "ingrediendts", } поскажите, как добавить count к новому объекту снизу?
Alexandr
Ребят, подскажите пожалуйста. А кодом из монго shell можно как-то делиться?
Сергей
Всем привет!) Прошу помочь составить запрос на выборку из базы данных MongoDB с фильтрацией и агрегацией В ЛС. С меня 💸💸💸
Alexandr
а выделить и ctrl-c не работает?
не, мне надо тестовое сдать))
Alexandr
db.getCollection('facet').aggregate([{ $group:{ _id: null, authors:{$addToSet:"$author"}, totalLikes:{$sum:"$like"} }} ])
Пришел домой, проверил, чето не работает, а куда делась обертка facet?
Nick
Пришел домой, проверил, чето не работает, а куда делась обертка facet?
я перемудрил с фасетами и оно там не нужно. т.к. все решается в рамках одной группировки
Nick
я запутался getCollection не надо?)
как вы получаете коллекцию не важно, просто это от моего теста осталось
Сергей
Всем привет!) Прошу помочь составить запрос на выборку из базы данных MongoDB с фильтрацией и агрегацией В ЛС. С меня 💸💸💸
Alexandr
как вы получаете коллекцию не важно, просто это от моего теста осталось
Спасибо)Получилось🥳 А можно как-то убрать отображение id: null? Или это нормально для монги?
Nick
Спасибо)Получилось🥳 А можно как-то убрать отображение id: null? Или это нормально для монги?
db.getCollection('facet').aggregate([{ $group:{ _id: null, authors:{$addToSet:"$author"}, totalLikes:{$sum:"$like"} }},{ $project:{ _id:0 }} ])
Сергей
либо вопросы в чат, либо бан - не надо спамить
Я просто прошу помочь разобраться
Nick
Я просто прошу помочь разобраться
лучше задайте конкретные вопросы, так быстрее ктото поможет
Timur
всем привет, как лучше ставить mongodb, из официального репозитория mongodb-org, или лучше percona server for mongo-db (бесплатно ли?)
Ilya
официального конечно
Александр
Добрый день. Подскажите пожалуйста, каким способом лучше скачивать коллекцию с сервера и дебажить на локальном компьютере ? Коллекция json уже скачивается минуту. Через пол года будет пол часа
jrm
Доброго времени суток! const data = await this.updateData(); // данные для сохранения const dbData = await this.productModel.find(); //база монго const saveData = dbData.insertMany([data], {ordered: true}); console.log(saveData) return dbData ругается на insertMany "Property 'insertMany' does not exist on type 'ProductDocument[]", data и dbData массивы проверял через Array.isArray( ), но я не понимаю как иначе его использовать , подскажите пожалуйста
Maksim
наверное insertMany нужно делать не на результате запроса, а на модели? await this.productModel.insertMany(...)
Eshu
Подскажите пожалуйста для тупых. Можно ли в монге сделать аналог триггеров в SQL, чтобы обновлять другие записи?
Dmitriy
Коллеги, добрый день. Скажите пожалуйста, вот столкнулся с такой проблемой У меня у документа есть массив dialogs и в нем 15 элементов Я в projection делаю так: {dialogs: {$slice: [-5, 5]}} И все ок, возвращается. Но если я делаю так: {dialogs: {$slice: [-100, 5]}} То у меня все равно возвращаются первые 5 элементов. Есть какой то выход что бы вернулся пустой массив ?
Sinaver
{ from: "ingredients", let: { ingredients: "$ingredients" }, pipeline: [ { $match: { $expr: { $in: ["$_id", "$$ingredients._id"] } } }, ], as: "ingrediendts", } поскажите, как добавить count к новому объекту снизу?
Oleh Kopyl
Привет. Подскажите плиз по shell. Хочу скопировать коллекцию Когда пишу db.words.copyTo("words2") Говорит uncaught exception: TypeError: db.words.copyTo is not a function : ️ words – имя коллекции из которой копирую, "words2" – в которую хочу скопировать. Что я делаю не так? Все ж по документации
Nick
https://docs.mongodb.com/manual/reference/method/db.collection.copyTo/#mongodb-method-db.collection.copyTo
Oleh Kopyl
https://docs.mongodb.com/manual/reference/method/db.collection.copyTo/#mongodb-method-db.collection.copyTo
А как тогда скопировать? mongorestore только что ли?
yopp
А как тогда скопировать? mongorestore только что ли?
https://docs.mongodb.com/v4.2/reference/method/db.cloneCollection/
yopp
а, и её тоже
Nick
но там тоже ест ьприписочка что задепрекейчено https://docs.mongodb.com/v4.2/release-notes/4.2-compatibility/#deprecate-support-for-clonecollection
Nick
на самом деле если внутри базы, то обычная агрегация с $out фактически сделает что надо
Oleh Kopyl
https://docs.mongodb.com/v4.2/reference/method/db.cloneCollection/
uncaught exception: TypeError: db.cloneCollection is not a function :️
karrtopelka
здравствуйте, есть ли возможность чтобы из массива достались все обьекты (больше 400), ибо после unwind осталось 20.. и чтобы они не были в переменной а деструктурировались
Nail
Всем привет. Подскажите пожалуйста, если в запросе участвует primary key и я хочу сделать для этого запроса составной индекс, нужно ли туда добавлять primary key?
karrtopelka
а что вы хотите сделать с этими 400 объектами? просто посмотреть или выгрузить или еще чего?
ну, если так брать, то у меня есть готовая агрегация для коллекции скажем «а» но проблема в том, что в коде программы, агрегация применяется к коллекции «б» мне надо просто агрегацию из а засунуть в б, но чтобы полей из «б» не было
karrtopelka
как то так
Nick
в массив и юзеру
тогда зачем вам в компасе видеть все данные? это инстурмент для быстрого накидывания запросов и просмотра семплов на отдльных стейджах, чтобы типа визуализировать и руками стейджы не выключать при дебаге. Просто используйте поулченный пайплайн в коде
karrtopelka
эм, поправьте код)
код не мой к сожалению 😖
Гена
Всем привет Подскажите с чем может быть связано резкое повышение времени ответа и переизбирание праймари в кластере Нагрузка никак не менялась, на дисках awaits не было Просто какой-то сбой который длился около 20 секунд
Гена
@yatoba @dd_bb
Гена
еще в логах вот такая ошибка сыпала
yopp
@yatoba @dd_bb
в логах праймари будет причина
Гена
unable to gather storage statistics for a slow operation
Гена
в логах праймари будет причина
там просто в какой-то момент время ответа увеличилось версия 4.2.6
Petr
Подскажите от чего может вылазить таймаут по cdc, и реально ли на него как то воздействовать ? Может сильно много данных пытаюсь забрать за раз ? com.mongodb.MongoExecutionTimeoutException: Error waiting for snapshot not less than { ts: Timestamp(1621502402, 239), t: -1 }, current relevant optime is { ts: Timestamp(1621502396, 184), t: 40 }. :: caused by :: operation exceeded time limit
Alex
Всем Привет! Помогите пожалуйста, второй день долблюсь(( есть вот такая задача https://mongoplayground.net/p/nq3l_DBYkF0 ожидаемый результат {   “children”: [    {     “age”: 11,     “name”: null    },    {     “age”: 12,     “name”: “billy”    }   ]  } Возможно ли как-то в $map взять текущий индекс массива и в проверку вставлять елемент из другого массива по индексу ? Или мб есть другое решение ?
Сергей
Ребят, подскажите как при создании документа автоматом сгенерировать порядковый id этого документа?
jrm
Доброго времени суток! подскажите на что ругается ?
Nick
Ребят, подскажите как при создании документа автоматом сгенерировать порядковый id этого документа?
автоинкремент надо реализовывать самостоятельно через дополнительную коллекцию со счетчиком . Но прежде всего нужно понять реально ли вам нужен именно автоинкремент, допускаются ли в общем порядке дыры и т.п. вопросы. В общем попробуйте сначала придумать способ обойтись без автоинкрементов, а уж если без него реально никак (такое ну очень редко бывает), то тогда делайте автоинкремент
Nick
Доброго времени суток! подскажите на что ругается ?
на синтаксис, это проблемы js/ts и гдето потеряны типы, либо в IDE инспекции барахлят. Запускайте смотрите упадет или нет, возможно это ничего не сломает
jrm
у меня проект не компилируется
был был рад , если навели хотя бы в нужную сторону
Александр
Понял, в данном случае точно нужно Вот такую штуку сделал
https://www.tutorialspoint.com/mongodb/mongodb_autoincrement_sequence.htm ещё вариант
germon
Добрый вечер, столкнулся с таким сообщениям на сервере: (node:23716) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead. (Use node --trace-deprecation ... to show where the warning was created) При этом все работает, новые данные в базу вносятся
germon
Это сильно влияет на работоспособность моего приложения? Приложение учебное, надежность тут не особо упала, так как сроки горят)
germon
Может что-то отвалиться в будущем?
Islam
Есть строка кода, которая проверяет при регистрации, есть ли уже зарегистрированный пользователь с веденным email, но метод findOne всегда что-то находит, какой email не введи. В чём может быть проблема, или я неправильно написал что-то?
Ваня
В чём разница между $in и $all?
Anonymous
В чём разница между $in и $all?
in - любой из, all - все.