Nikolay
Dev
Nikolay
Опиши приложение и компанию я ещё каких нибудь важных менеджерам мантр набросаю ;)
Nikolay
Лучше в личку наверное
Шынгыс
добрый день, ребята. кто нибудь настраивал бэкапирование средствами Ops Manager? Кто сможет подсказать как включить опцию бэкапа ?
Шынгыс
Глеб
Приветствую. Подскажите такой вопрос, по поводу pbm-agent'a
Он просто весит в inactive.
Куда копать? Как логи посмотреть?
pbm logs
Пустой
Вот такая строка есть
pbm-agent[13443]: 2022/01/12 12:21:30 connect to the node: connect: create mongo client: a direct connection cannot be made if multiple hosts are specified
И главный вопрос, он вообще умеет в ноды? Или только сингл таргеты?
Александр
Привет всем. Есть коллекция на 11 миллионов документов. По ней будет выполняться текстовый поиск. Нужно ли сразу думать о шардировании в этом случае? И вообще когда оно целесообразно?
Nick
Привет всем. Есть коллекция на 11 миллионов документов. По ней будет выполняться текстовый поиск. Нужно ли сразу думать о шардировании в этом случае? И вообще когда оно целесообразно?
Шардирование больше про запись - позволяет решать проблемы ограничения по скорости записи и размерам хранилищ на отдельных серверах.
Чтобы размазать чтение обычно достаточно настроить реплики в количестве необходимом для покрытия вашей нагрузки на чтение.
Думать о шардировании при чтении надо в случаях, когда ожидается что будете упираться в диски и памяти не будет хватать чтобы держать индексы в памяти, т.к. на репликах по сути будет копия данных и если у вас проблемы с тем чтобы запихнуть данные под выборки в память, то реплики не помогут.
Так что если у вас планируется большой рост по объемам хранимых документов (терабайты), то стоит смотреть в шарды. Также если у вас большие тексты и уже сейчас вы можете понять, что условно через полгода вы исчерпаете ресурс оперативной памяти под хранение индексов, то тоже смотрите на шарды. В остальных случаях это может лишь сильно усложнить жизнь и возможно стоит тупо закинуть рейд ссд дисков для хранения и оперативы и жить дальше.
Александр
Pt. Loki
Доброго времени. Есть mongo, mongoose и mongoose-gridfs. получаю файл через input морды, шлю (через сокеты, а не форму) file на бек. там приходится сохранять файл
const file_path = "files/"+(new Date().valueOf())+'_'+randomInt(1000);
fs.writeFile(file_path, file.data, {},async() => {
const bigImage = fs.createReadStream(file_path);
а потом уже делать стрим для gridfs. есть ли способ файл не сохранять, а напрямую в стрим "конвертировать"?
Гена
привет
запускаем запрос с array на find и падает с такой ошибкой
[js] InternalError: allocation size overflow :
что делать, подскажите пожалуйста
Danil
Здравствуйте, а как можно сделать, я вот ищю документы coll.find() и сортирую их .sort("balance", -1), и .limit(10), как можно сделать что бы например вот пропустить первые 10 и показывать другие документы
Тоесть с помощью
coll.find({}).sort("balance", -1).limit(10)
Выводит 10 тех у кого самый большой баланс, я хочу сделать что бы эти 10 документов пропускало, и давало следующие 10 документов
Cloud
skip
Danil
Ruslan
привет, а кто рабоатл с mongos? при запуске нужно каждый раз делать sh.addShard при запуске? или 1 раз достаточно и все новые монгос которые будут стартовать будут без проблем подключаться и делать запись?
Andrii
Всем привет.
Направьте в нужное русло, пожалуйста.
Ищу способ ограничивать используемые ресурсы (CPU, memory, etc) в разрезе user/database.
Проблема в чём: если один из коннектов mongodb для своей базы данных выполнит неаккуратных запросов, от этого пострадает весь сервер и все остальные пользователи этого сервера (в других БД).
Хочется сделать что-то около "ограничить максимальное использование ресурсов для db_loyalty до Memory 1GB, CPU 2".
Андрей
Nick
J
Здравствуйте! Я студент, только начал осваивать Монго, в практическом задании указано: установить ключ документа по полю: Номер. Задача заключается в импорте таблицы json с большим количеством строк, каждой строке присваивается _id (objectid), нужно чтобы это значение не генерировалось, а равнялось значению поля "Номер". Подскажите как?
Andrii
Nick
Nick
Andrii
типа того
Стремно)
Спасибо за советы
@Radchenko_Andrey @yatoba
Muzaffar
ребят можете помочь с запросом?:
есть такой запрос вроде как все нормально работает
db.user_action.aggregate([
// Get only records created in a time span
{$match: {createdDate: {$gte: ISODate("2022-01-01T00:00:00Z"), $lte: ISODate("2022-01-01T00:59:59Z")}}},
// Get the year, month and day from the createdTimeStamp
{$project: {yearMonthDayUTC: {$dateToString: {format: "%Y-%m-%d %H", date: "$createdDate"}}}},
// Group by year, month, day and hour and get the count
{
$group: {
_id: {yearMonthDayUTC: "$yearMonthDayUTC"},
"count": {$sum: 1}
}
}
])
но выводит количество всех записей т.к. группировка только по времени стоит а сделать чтоб и учитывалось ещё userId?
т.е. выводил количество уникальных юзеров
Vadim
Приветствую, делаю запрос в базу посредством mongoose, с целью проверки на уникальность имени.
В итоге запроса, естественно находит свою же запись, я хочу проверять на уникальность имя исключая текущего пользователя.
Как мне исключить из запроса _id пользователя?
Запрос и последующая проверка:
const checkName = await User.findOne({ username }).lean().exec();
if (checkName && (checkName._id === id) {
return res.status(400).json({
message: Пользователь с таким именем:${username} уже существует,
});
}
checkName._id = new ObjectId("61dfc1488b52378ae0f318f0")
id = "61dfc1488b52378ae0f318f0"
Проще как то бы привести к выводу одному _id
P1GAS
Vadim
Александр
Привет. Можете подсказать что можно сделать для оптимизации полнотекстового поиска в монге? Есть запросы которые по 4 минуты выполняются. В коллекции миллионы записей. Текстовый индекс один и большой. Увеличение CPU и RAM не влияет на время отдачи, ssd тоже не помог
Nick
Александр
Какого плана запросы делаются?
mongoose используется, по идее так должны выглядеть запросы
db.collection.find( { $text: { $search: "someText"} }).limit(100)
Nick
Nick
Nick
Андрей
Vlad Kutuev
Подскажите плиз. Коллекция. В ней набор сущностей. У каждой сущности есть поле например x. В поле x записано число типа Integer. Это число может повторятся у каких-то других сущностей. Задача написать такой запрос к колекции, чтобы на выходе был массив сущностей, НО в среди этих сущностей поле x НЕ будет повторятся
Komronbek.
collection.find не итерируется в for
Komronbek.
К монге подключался через motor
Komronbek.
И кстати, pymongo не ассинхронный ?
Andrey
Andrey
Andrey
Nick
Hunter
E11000 duplicate key error collection: myFirstDatabase.films index: name_1 dup key: { name: "Thelllll" }(Обновляю информация о фильме, первый норм обновляется, а для других выдает такую ошибку, как ее можно исправить?)
Hunter
использую findOneAndUpdate
Nick
Danil
Здравствуйте, а как можно искать в каком ключе какое-то значение?
Вот например такой документ:
doc = {
'_id': 1,
'name': ...,
'items': {
'1': ...,
'2': ...,
'3': ...
}
}
И например есть значение в каком-то поле из поля 'items', как узнать в каком подполе находится какое-то значение? И ещё как вывести все под поля?
Danil
Nick
Danil
Базы
Nick
Тогда что именно требуется не ясно, вы хотите поиск сделать по вложенным полям?
Danil
Danil
Danil
Я тупо обьяснил наверное
Sheff
Здравствуйте, подскажите пожалуйста можно ли получить дату создания записи?
Проблема в том что изначально не было это нужно и по этой причине данного поля просто нет, может можно как-то получить из ObjectId или ещё как то?
Hunter
Nikita
brodyaga
ребят, всем привет, понимаю, что можно почитать, но все же, кто может подсказать, почему все так негативно реагируют на смену лицензии монги? Если в двух словах: магазин продуктов из 5 микросервисов, которые пишут в монгу и держат сорцы в приват репо могут остаться на монге или нужно уже переезжать?
Sheff
Konstantin
ребят, всем привет, понимаю, что можно почитать, но все же, кто может подсказать, почему все так негативно реагируют на смену лицензии монги? Если в двух словах: магазин продуктов из 5 микросервисов, которые пишут в монгу и держат сорцы в приват репо могут остаться на монге или нужно уже переезжать?
это вообще касается только облачных провайдеров, которые продают монгу как сервис и конкурируют с Mongo Atlas, типа AWS, Azure, Google Cloud Platform и т. п., но при этом никак не спонсируют разрабов. обычным юзерам изменения вообще никак ни на что не влияет – то же опенсорс, хочешь ставь на свою машину, хочешь плати за атлас – всё как раньше…
brodyaga
brodyaga
Ну наверное монга в новых версиях зонды внедрит в серверный код или уже)
Daniil
Daniil
Daniil
Или вообще себе на локальную машину поставить, этого же никто не запрещает
Daniil
А так аналогичный конфиг DBaaS всегда будет дороже чем аналогичный конфиг развёрнутый в принципе где угодно, тк ты платишь ещё за всякие плюшки вокруг
brodyaga
brodyaga
Ну на этот кейс как понял, монга предлагает Ops-Manager
Или enterprise-kubernetes-operator
Daniil
Олег
День добрый, не подскажите как для последней монги убрать ограничение в 4cpu?
Sergey
парни, такой вопрос... можно как-то дампануть из всех коллекций только N документов? надо для консистентности dev окружений
Komronbek.
Как документ получить искомый документ ( find_one ) и скопировать ( это не знаю ) его в словарь ( python )