Bohdan 🕊️
Сейчас гляну
Bohdan 🕊️
tail -f ~/.mongodb/mongosh/<LogID>_log Что в логах есть?
Старые не смогу логАйди посмотреть, в новом всё нормально
CrusaderX
господа, добрый вечер. Подскажите, пожалуйста, делаю аггрегацию db.test.aggregate([ { '$match': {'status': {'$in': ['a', 'b', 'c']}}}, { '$group': {'_id': '$status', 'count': {'$sum': 1}}}, { '$sort': { _id : 1 } } ]) получаю на выходе { "_id": "b", "count": 13 } { "_id": "c", "count": 16 } как сделать так, чтоб если a не существует, это все равно попало с результатом, допустим, 0 значением? $ifNull чет неправильно походу юзаю, не получается сделать
Vitalii
Всем привет! Если не затруднит, то подскажите пожалуйста в какую сторону копать. У нас есть таблица с ~300k записями. Мы к ней обращаемся через Pymongo и фильтруем объекты по параметрам (на все фильтруемые поля есть индексы) Проблема в том, что время фильтрации у нас может быть как 3 секунды так и 15, а это очень долго, хотелось бы это время уменьшить в разы. Еще есть очень интересное поведение, когда через pymongo я отправляю одинаковые запросы, первы запрос за 15 секунд обрабатывается, потом повторный уже за 10, а еще один такой-же за 1 секунду, после перезапуска сервера с pymongo, время на выполнение такого же запроса 1 секунда (с такими же результатами) Через тот-же Mongodb compas все отрабатывает моментально. Сервер с Pymongo и MongoDB расположены не в одной сети
yopp
Всем привет! Если не затруднит, то подскажите пожалуйста в какую сторону копать. У нас есть таблица с ~300k записями. Мы к ней обращаемся через Pymongo и фильтруем объекты по параметрам (на все фильтруемые поля есть индексы) Проблема в том, что время фильтрации у нас может быть как 3 секунды так и 15, а это очень долго, хотелось бы это время уменьшить в разы. Еще есть очень интересное поведение, когда через pymongo я отправляю одинаковые запросы, первы запрос за 15 секунд обрабатывается, потом повторный уже за 10, а еще один такой-же за 1 секунду, после перезапуска сервера с pymongo, время на выполнение такого же запроса 1 секунда (с такими же результатами) Через тот-же Mongodb compas все отрабатывает моментально. Сервер с Pymongo и MongoDB расположены не в одной сети
В этом случае рекомендую сначала исключить что проблема в запросах, включив профайлер: https://docs.mongodb.com/manual/tutorial/manage-the-database-profiler/ Если в него эти запросы попадать не будут, то искать проблемы в районе сети. Если запросы в профайлер попадают, то по explain(executionStatus: 1) смотреть почему запросы выполняются столько времени
ildar
db.contacts.find({"account" : "01_ХХХХХХХХХ", "phoneNumber" : {$regex: /^0/i}}).forEach(сontact => { print("firstName", "lastName", "phoneNumber") }) подскажите пожл, как правильно в этом случае использовать forEach и print, нужно вывести список их коллекции для каждого юзера
Akhil
Добрый вечер, подскажите пожалуйста как обычно реализовывается пагинация в Mongo Особенность в том, что нужные мне данные я могу получить только путем агграгации lookup, то есть Joinом коллекций Понимаю, что агрегация не возвращает курсор, но все таки Limit offset не предлагать, сейчас так и делаю, но кажется это не самый оптимальный вариант
камил
Привет, можно как-то проверить все документы на существование определенного поля?
Akhil
да нормальный вариант с skip и limit твое мне кажется, чем обосновано?
Не понимаю пока как решить проблему. При добавлении новых документов это будет работать неправильно Повторки будут
Cloud
Не понимаю пока как решить проблему. При добавлении новых документов это будет работать неправильно Повторки будут
я пока не оч понимаю, суть задачи, можешь развернуть, чтобы понятно было? вот есть у тебя коллекция, тебе нужно пагинировать то шо ты lookup ом присоединяешь?
Akhil
я пока не оч понимаю, суть задачи, можешь развернуть, чтобы понятно было? вот есть у тебя коллекция, тебе нужно пагинировать то шо ты lookup ом присоединяешь?
Да, все верно На выходе агрегации мне надо пагинировать результат Ну допустим я запрашиваю первую страницу данных, потом вторую Пока это происходило добавились новые документы, и соответственно данные для след страницы сместятся и появятся повторы
Nick
Данные добавились
вот вы и увидели что они добавились
Nick
вы хотите работать со снепшотом данных на момент первого запроса?
Akhil
Nick
единственное что приходит в голову транзакции, а так это повод пересмотреть требования
Nick
Это же вообще популярная проблема способа offset limit, из за этого часто используют метод курсора
можно посмотреть на вьюхи https://docs.mongodb.com/manual/core/views/, по ним можно обычным find выборки делать
Alex
Всем првет, подскажите в чем дело? Почему у меня не работает фильтр? Для наглядности показываю тут, в консоли такая же фигня
Alex
Alex
о, точно. А почему по второму полю не хочет?
Alex
insci
Подскажите пожалуйста решение для бекапов монги. Выбор остановился на https://ottomatik.io/, но может кто посоветует что-то другое? Из требований: очень желательно "облачное" решение
S
Всем привет! Подскажите плз... есть вот такой запрос в бд:
S
const result = await findOne( 'sets', 'Get set by id', { subId: id }, projection.sets, { lean: true }, [{ path: 'content.id', select: offers }], ); const offers = _id status state company;
S
Все ок работает, но в result приходит company в виде строки с id
S
А мне нужен обьект company целиком
S
Как это сделать?
A
подскажите как правильно условия прописать в фильтре , мне нужно сделать поиск в массиве accounts по полю _id
Амир
подскажите, почему ошибка? или как в данном случае передать несколько файлов в одной formData? использую multer
Амир
Cloud
подскажите, почему ошибка? или как в данном случае передать несколько файлов в одной formData? использую multer
мне кажется немножко не в тот чат вопрос дальше у мультера, в upload есть разные методы - соответственно запрос строится поразному
камил
Привет, можно как-то сделать поиск поля с условием?
камил
типо find('field', chat_id=123)
Дмитрий
типо find('field', chat_id=123)
Можно, через точку и двоеточие))
Дмитрий
типо find({'field.chat_id':123})
Сергей
Ребят, подскажите как сделать, что бы toString работал только если есть значение? У меня пустая база, и этот параметр выдает ошибку Unrecognized expression '$toString
ᗪEᔕIGᑎ
Всем салют, вопрос по поводу восстановления данных. Был кластер из трёх серверов, работал в реплике. Два сервера сгорели. Остался каталог с файлами admin config diagnostic.data files journal local _mdb_catalog.wt mongod.lock sizeStorer.wt storage.bson uploads WiredTiger WiredTigerLAS.wt WiredTiger.lock WiredTiger.turtle WiredTiger.wt БД сейчас пустая show dbs admin 0.000GB config 0.000GB local 0.000GB Каким способом можно восстановить?
ᗪEᔕIGᑎ
Вопрос. Прежде чем восстанавливать нужно настроить реплику?
Bohdan 🕊️
sudo mkdir -p /data/db mkdir: /data/db: Read-only file system Пытаюсь это создать, но пишет ошибку. Что делать?
Damir
Вопрос. Прежде чем восстанавливать нужно настроить реплику?
Здравствуйте, бекап делали? Репликацию можно настроить позже
Shokha
hello
Maksym
Всем привет, как сделать чтобы у меня поиск срабатывал так что когда ничего не вводится в text, то есть приходит пустая строка ничего не выводилось ? Сейчас на пустую строку приходят сразу все данные, а мне понятное дело это не нужно
Maksym
ну на фронте тоже сделаю
Maksym
или нет
Maksym
нужен же новый запрос чтобы пустые данные пришли и затерли предыдущие
P1GAS
И если инпут пустой, тогда очищаем значения на фронте, без запроса на бек
ᗪEᔕIGᑎ
есть кто живой нужна срочно консультация по восстановлению бэкапов, платно
ᗪEᔕIGᑎ
2500 человек в чате и нет экспертов, кому деньги нужны?
✨ Uni
Эксперты или спят или отдыхают
ᗪEᔕIGᑎ
эксперты всегда ресёрчат
ᗪEᔕIGᑎ
даже во сне
✨ Uni
Значит этот чат не находится в фокусе внимания
камил
Эксперты или спят или отдыхают
а ты че дохуя эксперт?
✨ Uni
А вообще вопрос сто процентов решается Гуглом
ᗪEᔕIGᑎ
проспамить личку на 2,5к
камил
в области гадания
ᗪEᔕIGᑎ
Давай по делу, у нас 700 000 пользователей отключено. А ты глумишься скот.
ᗪEᔕIGᑎ
пардон за выражения
✨ Uni
ᗪEᔕIGᑎ
пошёл спамить личку ждите оффера в лс, извинияюсь заранее.
Yura
а что случилось то? Опишите ситуацию здесь, может кто и даст совет
ᗪEᔕIGᑎ
слетала реплика из трёх нод, осталась рабочая одна нода, есть локально файлы монги. Нужна консультация как восстановить локлаьные файлы в db.
ᗪEᔕIGᑎ
бэкапов нет
ᗪEᔕIGᑎ
только локальные файлы
ᗪEᔕIGᑎ
могу прислать логи после попытки восстановления, но у нас в команде нет экспертизы по монги. Возможно что то делали не корректно. Но загрузка началась и в процессе посыпались ошибки.