Anonymous
ну да, как я понял на порт ставиш и можно зайти с логином и паролем а дальше делать разные монипуляции. просто mongoimport и export уже надоели
Vova
Но это апка не в браузере работает, а как standalone
Anonymous
MongoDB Compass
я ей уже пользуюсь на винде...
Anonymous
походу ничего нет?
Vova
я ей уже пользуюсь на винде...
Она и на линукс есть)
Bat
из standalone я бы юзал либо robo3t или mongodb compas
Anonymous
ну есть rockmongo он вроде как получше (но все равно кал), есть adminer - Он универсальный
compas для манипуляции с колекциями а robo3t в основном для экспорта и импорта
P
привет {$project: { comment: {$toLower: "$comments.content"}}}, поле создается но toLower не применяется как буд-то может быть проблема с collation( там русские символы)?
Max
привет! подскажите, а что-то может сломатся если апнуть версию монги на атласе? продовый инстанс
Max
Max
с 4 на 4.2
Vova
привет! подскажите, а что-то может сломатся если апнуть версию монги на атласе? продовый инстанс
Сломаться вроде ничего не должно, а вот появится aggregation pipeline в запросах обновления update(), findOneAndUpdate() etc
Max
бек-компктибилити ж есть?
Max
виджу, сорри
Max
Starting in MongoDB 4.2, you can use the aggregation pipeline for updates in:
Max
https://docs.mongodb.com/manual/release-notes/4.2/
critskiy
Есть вопрос, связанный с ситуацией по репликации: В replica set вначале был добавлен hidden member, и буквально на прошлой неделе добавился active replica member. Дело в том, что хотелось было испытать chaining replication, включенный по дефолту, и переконфигурирован был replica set следующим образом: primary -> active slave -> hidden slave Но хидден слейв реплицировался гораздо быстрее
critskiy
Вопрос вот в чем: может ли процесс репликации связан быть с оплогом (т.к. в оплоге хранились операции по работе с хидден репликой) при включенной настройке chainingAlllowed: true? И стоило ли мне тогда в данном случае реиницировать replica set?
Павел
Инсерчу через js скрипт в монгу и поле которе null вставляется как undifined. Что делать?
Alexey
Всем привет. Столкнулся со странной ситуацией. Пытаюсь из-под шарпа скачать файл из GridFS по _id. Получаю исключение, что файл не найден, хотя я спокойно нахожу его через Robo! В чем может быть проблема?
Alexey
Alexey
Yurii
А твой шарп передает что _id типа ObjectId, а не строка?)
Alexey
Как строку передаю
Alexey
Но он ведь схавал, не сказал, что параметр неверный🙄
Yurii
Это очень хороший вопрос😂
Да, если ты в Robo не напишешь, что _id: ObjectId('…'), а просто _id: '' - тоже не найдет)
Alexey
Ладно. К черту оправдания. Ща переделаю))
Yurii
Ты же в _id можешь хранить любой тип данных, соизволь искать по тому же)
yopp
Есть вопрос, связанный с ситуацией по репликации: В replica set вначале был добавлен hidden member, и буквально на прошлой неделе добавился active replica member. Дело в том, что хотелось было испытать chaining replication, включенный по дефолту, и переконфигурирован был replica set следующим образом: primary -> active slave -> hidden slave Но хидден слейв реплицировался гораздо быстрее
Да, процесс репликации не просто связан с оплогом, это и есть репликация оплога. chainingAllowed не гарантирует выбора sync target, так как при выборе откуда синхроинизироватсья учитываются различные параметры если вы хотите жестко задать sync target, то используйте https://docs.mongodb.com/manual/tutorial/configure-replica-set-secondary-sync-target/
yopp
compatVersion в смысле не бампать
yopp
Это не проблема транзакций
Roman
привет ребята. подскажите, если можно, можно ли в монге использовать $lookup для преобразования вложенных сущностей? вот я сделал такой лукап, а дальше мне нужно сделать как-бы ещё один, для преобразования типов из массива в нормальные сущности внутри массива сущностей тегов.
Roman
охтыж, разобрался, спасибо
Roman
там ещё правда надо было отфильтровать по последней вложенной сущности, поэтому я её тоже $unwind'ул, потом собрал всё обратно $group'ом - и теперь получается что у меня по несколько одинаковых тегов бывает в массиве. не знаете, можно ли это как-то отфильтровать?
Roman
Есть метод $addToSet, можно на этапе $project или $group делать
наверное на этапе $project не выйдет, да?
Yurii
наверное на этапе $project не выйдет, да?
Да, на твоем последнем стейдже: tags: { $addToSet: '$tags' }
Roman
Да, на твоем последнем стейдже: tags: { $addToSet: '$tags' }
они считаются разными, видимо, потому что в каждом теге разные массивы типов, там надо типы объединить )
Андрей
Привет. Я забыл пароль от рута и от админа, как сбросить?
P
есть идеи откуда ноги растут? assert: command failed: { "ok" : 0, "err" : "unknown command", "bad cmd" : { "aggregate" : “collection_from”, "pipeline" : [
Anonymous
Приветствую. Сортировка 300 000 документов вернула ошибку Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit. Как и куда добавить индекс? Моя модель: const SubscriptionSchema = new Schema({ name: { type: String }, timestamp: { type: Number }, price: { type: Number } }); Ни одно поле выше не есть уникально.
Anonymous
Полный код в репо, включая обращение к коллекции и сортировку. Коли кто согласится взглянуть на вопрос выше, выложу или дам ссылку.
Anonymous
у меня нечто подобное было я индекс по timestamp (у меня другое конечно было поле) добавил
Как добавить индекс по (в ?) полю? .createIndex(...) в обращении к коллекции вернул not a function.
Anonymous
const records = await Subscription // .createIndex({ name: true }) // .index({ name: true }) .find(query) .sort(sort) .skip((pageNumber - 1) * resultsPerPage) .limit(resultsPerPage);
Anonymous
у меня нечто подобное было я индекс по timestamp (у меня другое конечно было поле) добавил
Так? const SubscriptionSchema = new Schema({ name: { type: String, index: true }, timestamp: { type: Number }, price: { type: Number } });
Anonymous
да, еще по таймштампу можно индекс
При добавлении index в схему, как выше, получил Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit. Все поля в схеме не уникальны.
Anonymous
Добавил index: true во все 3 поля, похоже, помогло.
Anonymous
Сортировка у меня в коде возможна по любому из 3 полей.
Anonymous
Упс. У меня ж при прогрузке страницы на фронте сортировка по price, туда index добавил последним.
Anonymous
Спасибо.
Anonymous
Спасибо.
Philipp
Привет, ребят. Вопрос, где почитать на тему: Есть у меня коллекция документов, её я могу пагинировать как хочу, но что, если в самих документах может появиться `n-`ное количество вложенных объектов? Как пагинироваться по ним? Это что-то вроде ленивой загрузки надо реализовать?
Андрей
Полей которые я могу засетить может быть разное количество, как можно мапом пройтись по массиву и устанавливать $set ?
Kenan
https://stackoverflow.com/questions/10290621/how-do-i-partially-update-an-object-in-mongodb-so-the-new-object-will-overlay
dd
Если мы делаем шарды, нормально ли на одной железке развернуть 3 докера (конфиг+шард+mongos). На других железках так же делать. или бест практис по другому?
Null
Отличная статья о том, почему UUID является плохим выбором для первичного ключа. Не смотря на то что в статье обсуждается влияние на InnoDB, в MongoDB будут похожие проблемы. Но вместо различных ухищрений из статьи, в MongoDB уже есть отличный тип ObjectId https://www.percona.com/blog/2019/11/22/uuids-are-popular-but-bad-for-performance-lets-discuss/
Андрій
народ, как понять задание: 2 пункта: 1. Запустить бд mongod command. 2. Команда: mongoimport --file ./ cwiczenia2.json --db nbd –collection откуда этот файл импортируется? Где он должен лежать? В задании не было прикреплено этого файла (cwiczenia2.json)