Artem
chatId - string или objectid?
я тоже думал про это, поэтому перед запросом изменяю тип на строку chat._id.toString()
Artem
chatId - string или objectid?
пора завязывать программировать по вечерам. спасибо, не для той функции я изменял objectId на строку.
🔰ш
Ребятки, подскажите, есть модель countries, у которой есть virtual bases, Механизм работы примерно такой: получаем страну, делаем popuate bases, проходимся по популированному массиву и при определенном кондишн удаляем эту base
🔰ш
Как при этому корректно удалить базу?
🔰ш
(если что вопрос про монгусь)
🔰ш
Юзать await base.remove() в country.bases.forEach?
🔰ш
Потому что в последствие у country будет использовано virtual значение которого зависит от country.bases
охангаран
вам тоже какой-то kelvin brown пишут?
охангаран
I'm sorry to invade your privacy would love to have a word with you concerning a very lucrative information about a platform, where you can invest and make profits after a short period of time
охангаран
ребята не могли бы сказать где я проспустил ошибку ?
охангаран
охангаран
охангаран
я вообще с postmanom все праильно сделал?(а то давно с ним не работал)
maxsimych
ребята не могли бы сказать где я проспустил ошибку ?
Лучше не выставлять скриншоты со строкой подключения к базе)
охангаран
ой да там у меня ничего нету
maxsimych
ой да там у меня ничего нету
Судя по ошибке, ты не используешь миддлвару для парсинга body, типа express.json() В постмане всё ок. Вообще, это вопрос по ноде @nodejs_ru
Dmitriy
всем привет. Кто-нибудь использует {$exists: false} в запросах? Как сделать, чтобы такой запрос не тупил? db.getCollection('test1').find({status: {$exists: false}}).count()
Nick
индекс
Dmitriy
есть индекс, { "status" : -1.0 } запрос db.getCollection('test1').find({status: 1}).count() - 0.2 секунды, а с exists - 1 секунду количество в ответе примерно одинаковое
Viktar
Подозреваю что экзистс не использует индекс.
Dmitriy
даже вообще без индекса find({status: 1}) работает 700 мс, а с exists не пойму что
yopp
$exists не селективный запрос, для которого планировщик может выбрать collscan. Посмотрите какие планы применяются в разных случаях: до find добавьте explain({executionStats:1})
Dmitriy
в случае exists добавляется "stage" : "FETCH", "filter" : {"$nor" : [ {"status" : {"$exists" : true}}]},
Dmitriy
т.е. после поиска по индексу он еще и по результату проходит?
yopp
т.е. после поиска по индексу он еще и по результату проходит?
Да, count использует covered query. У вас запрос без проекции которая попадает под covered query по этому планировщик добавляет шаг для загрузки документов в курсор
Dmitriy
пробовал добавлять проекцию, {_id:0, status:1} не помогло) в план еще сверху добавляется PROJECTION и все
Dmitriy
получается, фильтр по status и в проекции только он - должен быть covered
yopp
Попробуйте сбросить кеш планов
yopp
https://docs.mongodb.com/manual/reference/method/PlanCache.clear/
Dmitriy
Неа, не меняется. Коллекция тестовая рандомная, на 1 млн записей
yopp
а как кеш планов выглдяит?
Artem
Коллеги, добрый день. Подскажите, может кто сталкивался. Использую lookup для массива: $lookup: { from: 'user', localField: 'participants', foreignField: 'userId', as: 'participantsInformation', }, Получаю: { type: 'buy', creatorId: '...', participantsInformation: [Object, Object] } Можно ли убрать не нужные поля внутри participantsInformation ? И с помощью чего можно это сделать.
SuleYman
Всем привет, могу ли я поднять монго без авторизованных данных?
SuleYman
У меня есть скрипт, $client = new \MongoDB\Client("mongodb://root:example@localhost:27017"); return $client->parser_ad; // бд там не указан логин и пароль
SuleYman
Точнее так $client = new \MongoDB\Client("mongodb://localhost:27017");
SuleYman
у меня он в докере
Nick
а в чем проблема?
SuleYman
Да вот хочу понять, почему без авторизованныйх данных работает)
SuleYman
сейчас понятно) что он так умеет
Сергей
Коллеги, а подскажите пожалуйста. На mongo 4.4 команда compact требует дополнительного места на ФС? Не создает ли она случайно дополнительных файлов в процессе работы? Ну и с какой скоростью она работает?
Vitaliy
Кто-нибудь поднимал Dart + MongoDB в Docker ? Если работаю с Монго не в докере, всё норм. Использую mongo_dart: ^0.4.4 Как только поднимаю Монго и Дарт в Докере и обращаюсь к Монго получаю ошибку : main.dart:2:8: Error: Error when reading '/C:/Users/vital/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/mongo_dart-0.4.4/lib/mongo_dart.dart': No such file or directory Почему-то не видит пакет mongo_dart... mongo_dart указан в pubspec.yaml, но в docker-compose о нём нет упоминаний. Мне казалось что pubspec достаточно один раз указать... Что может быть не так? Что может не хватать? Куда посмотреть?
Roman
Подскажите решение. Есть коллекция папок, они имеют древовидную структуру, т.е. есть родители и их потомки. При удалении родителя я по идеи должен удалить всех его потомков, но у этих потомков могут быть свои потомки. Как подобное реализовывать в mongo?
Aleksey
Здравстуйте! Подскажите, пожалуйста, какой таймаут нужно увеличить или в чем проблема :) Был один сервер MongoDB с одной БД . Решил сделать шард: добавил ещё один сервер MongoDB (на другом железе), раскидал mongos и 3 инстанса config server на этих 2х серверах, включил шардинг и заработал балансировщик. Вроде как всё делал по гайду из оф. документации. Но в sh.status() такое: Migration Results for the last 24 hours: 551 : Success 213 : Failed with error 'aborted', from SH02 to SH01 В логах нашел вот такие ошибки (лог мастера конфиг серверов): {"t":{"$date":"2020-11-10T15:35:30.416+00:00"},"s":"I", "c":"SHARDING", "id":21872, "ctx":"Balancer","msg":"Migration failed","attr":{"migrateInfo":"my_db.my_collection: [{ url: -9210733429031459461 }, { url: -9210102178726602920 }), from SH02, to SH01","error":"LockTimeout: Unable to acquire X lock on '{12336033448886408517: Collection, 806818402817938757, my_db.my_collection}' within 500ms. opId: 454461, op: MoveChunk, connId: 0."}}
S
Здравствуйте, подскажите пожалуйста, какой запрос мне написать чтобы сделать как на скрине?
Nick
Здравствуйте, подскажите пожалуйста, какой запрос мне написать чтобы сделать как на скрине?
переделать на графы или аналог materialized path https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-materialized-paths/
Anonymous
господа, есть коллекция с такими документами { "date": date, "logs_spot": [], "logs_futures": [], "open_date": util.get_time_now() } я заливаю в массивы сообщения вида {'chat_id': chat_id, 'data':data} Как найти все данные для нужного chat_id во всей коллекции, проходя по массивам?
Anonymous
что-то типо find {'logs_spot.chat_id': chat_id}?
Anonymous
$elemMatch подойдет?)
Anonymous
Привет Пара вопросов
Anonymous
1 просьба подсказать хорошие книги /материалы по java + mongodb
Anonymous
2 просьба подсказать хорошие книги /материалы по java with Mongo design patterns
Anonymous
Заранее огромное спасибо
Nick
1 просьба подсказать хорошие книги /материалы по java + mongodb
не видел ни одной в таком сочетании, чего вы ожидаете там увидеть кроме описания методов драйвера?
Nick
2 просьба подсказать хорошие книги /материалы по java with Mongo design patterns
независимо от языка https://docs.mongodb.com/manual/data-modeling/
Viktar
1 просьба подсказать хорошие книги /материалы по java + mongodb
На сайте монги есть академия. Там есть очень хорошие бесплатные курсы.
Anonymous
не видел ни одной в таком сочетании, чего вы ожидаете там увидеть кроме описания методов драйвера?
Паттерны организации java кода для работы с монгой Например - как создавать коллекцию правильно? Проверить что коллекция не существует и только в этом случае её создавать? Или создаём коллекцию в любом случае и если коллекция существует - просто молча проглатываем соответствующее исключение
Nick
и это должна быть задача разворачивания БД, а не уровень кода
Anonymous
Также хотелось бы глянуть на код правильных java проектов Также Best practices Паттерны и антипаттерны
Anonymous
и это должна быть задача разворачивания БД, а не уровень кода
Вот Хотел бы взглянуть как правильно создавать коллекцию В sql например добавляем как вариант в проекте. . sql скрипт с create table и возможно insert
Anonymous
Возможно конечно я несколько усложняю
Nick
сильно усложняете, монга позволяет делать как удобно именно вам именно в вашем проекте и не накладывает лишних ограничений. Поэтому бестпрактисы - это в основном про построение структуры БД именно в соответствии с вашими задачами
Nick
миграции в ней практически не нужны и даже вредны если данных уже много, а нужно только уметь работать с опциональными полями - и это закладывается при проработке решения в рамках mvp - на оснвое чего можно уже построить нормальную структуру БД
Nick
и основное - прошерстить доку на предмет поведения основных команд и ограничений самой монги https://docs.mongodb.com/manual/reference/limits/
№2Coder
Я новичок. У меня есть категория Xbox. Чтобы отобразить список продуктов этой категорий мне нужно через массив прогонять products с запросом findById и пушить эти данные в новый массив?
№2Coder
И когда я добавляю новый продукт у меня будет два запроса. 1) добавление товара с указанием Id категории.2) получаю от результата id товара и добавлю в список products в категорий
№2Coder
это данные из products
Mansur
Привет всем, использую gridFS и официальный драйвер для Golang. Пишу простенький файловый сервис. При загрузке различных типов файлов, заметил особенность, что файлы с расширением .torrent не сохраняются в gridFS (txt, jpg, png, zip, xls, doc сохраняются без проблем), происходит фриз и повисает процесс. Возможно существуют какие-то ограничения? Или искать косяк в драйвере?