Viktar
Добрый день господа
нашёл в логах вот такие медленные запросы
{"t":{"$date":"2021-02-22T06:05:05.440+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn94585","msg":"Slow query","attr":{"type":"command","ns":"catalog.personCatalog","command":{"find":"personCatalog","filter":{"_id":{"$oid":"563a2ba6e0cd4806cb747ed1"}},"limit":1,"$db":"catalog","$readPreference":{"mode":"nearest"},"lsid":{"id":{"$uuid":"d378dd2c-9d7c-4856-a108-b4c647c52db9"}},"$clusterTime":{"clusterTime":{"$timestamp":{"t":1613973898,"i":1}},"signature":{"hash":{"$binary":{"base64":"VZbderigiv7mNyF3cgSrwlmCEj0=","subType":"0"}},"keyId":6884215350032859137}}},"planSummary":"IDHACK","keysExamined":1,"docsExamined":1,"cursorExhausted":true,"numYields":1,"nreturned":1,"reslen":14723,"locks":{"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":2}},"Database":{"acquireCount":{"r":2}},"Collection":{"acquireCount":{"r":2}},"Mutex":{"acquireCount":{"r":1}}},"storage":{"data":{"bytesRead":81899,"timeReadingMicros":221181}},"protocol":"op_msg","durationMillis":221}}
не понятно почему они туда попадают есло документ достаётся по _id
Fenicu
Привет! по ловеркейсу искать можно только с помощью агрегации?
Fenicu
MDWIT
Fenicu
до 2-х миллионов записей это много?
Fenicu
подождать секунду-две думаю пользователю не трудно
Fenicu
я тоже думал об этом, но это может выглядеть не красиво
MDWIT
не знаю, мне кажется выглядит красивее и правильнее, чем регулярка)
Fenicu
не, я в плане, чтобы выдать пользователю результат)
WolderVsrat
Соотно все что приходит на вход приводится к ловеркейсу
WolderVsrat
А выдашь оригинальное написание, если необходимо
Fenicu
звучит как то, что не должно происходить
WolderVsrat
Fenicu
ух, вешать очередной индекс...
Fenicu
мне иногда кажется, что у меня индексов больше, чем обычных полей
MDWIT
WolderVsrat
Dmitriy
Коллеги, добрый день. Подскажите пожалуйста как максимально быстро решить такой вопрос.
У меня есть данные в коллекции. Но видимо есть какие то записи которые не проходят по схеме. То есть, данные остались а схему изменена.
Я делаю дамп базы и делаю стор и мне пишет database validation failded.
Как я могу прогнать все записи в колекции через валидатор схемы что бы понять в каком документе у меня не проходит валидация?
Заранее спасибо
Dmitriy
То есть, я хочу сделать что то вроде
const users = await db.collection('users').find({}).toArray();
users.forEach(.......
Pavel
Pavel
Как отфильтровать по статусу $filter
Валерий
Привет, не разобрался? ищу что-то подобное)))
Валерий
Валерий
Как отфильтровать по статусу $filter
Viktar
Считается хорошим тоном, дать ответ если разобрались. Может кто нибудь наступит на тебе грабли
Sardor
Всем привет! Есть коллекция с документами, у которых есть поле date в виде строки. Как можно найти документы по фильтру $gte, приведя эти строки к датам?
Т.е. мне нужно сначала с помощью $dateFromString привести строки к ISODate, а затем сделать выборку только документов, соответствующих фильтру $gte. Не понимаю, как написать такой запрос
Anonymous
Здравствуйте! Не знаю, туда ли обращаюсь, но возможно кто-то мог бы посмотреть базу данных маленькую учебную (школа) на предмет ошибок?
Или, может, подсказать место, где бы это было возможно.
Спасибо 🙏
Joe
Anonymous
А где схема бд?
У меня на компьютере. Она совсем простая в аксес) если согласитесь посмотреть, то я бы скинула через почту или диск)
Anonymous
Завтра
Joe
Anonymous
Alexey
Подскажите пожалуйста, что делаю не такб нащупал что проблема в строке
let: {'act_id': '$account_id'},
- act_id всегда пустой получается, хотя такое поле (account_id) в записи есть:
db.campaign.aggregate([
{ $match: { campaign_id: '111111111111111111111111' } },
{
$lookup: {
from: 'user',
let: {'act_id': '$account_id'},
pipeline: [
{ $match: { 'accounts.id' : '$$act_id' } },
{ $match: { '_id' : ObjectId('22222222222222222222222') } },
],
as: 'user',
},
},
])
Abdullah
Здравствуйте, я подключаюсь к атласу mongodb из приложения nodejs, запущенного локально, и оно работает. Но он выдает такую ошибку в репозитории героку.
Abdullah
Oleh Kopyl
Ребят, подскажите плиз как в монге сделать find, но чтобы искало с конца?
Oleh Kopyl
Oleh Kopyl
А можно как-то из документа получить значение сразу из монги?
Не в словаре, а обычное значение.
Ilya
нет, но можно выбрать какие поля получить
Ilya
а в чём проблема одного объекта с одним ключём?
Oleh Kopyl
Ilya
в чём проблема?
Oleh Kopyl
Делаю db.auth(user, pass)
Мне отправляется 1
Потом делаю db.jobs.find({})
и получаю not authorized on djinni to execute command
Как авторизоваться чтобы можно было запросы отправлять нормально?
Vova
Добрый день! Подскажите пожалуйста, почему рабочая реплика пишет
no primary available at the moment?
db.printSlaveReplicationInfo()
source: xxx.xx.xxx.xx:xxxxx
syncedTo: Wed Feb 24 2021 11:51:15 GMT+0200 (EET)
1 secs (0 hrs) behind the freshest member (no primary available at the moment
Zaur
Приветствую господа, помогите сделать запрос. Есть коллеция документов вида:
{
botId: <int>,
count: <int>
time: <unixtime>
}
Надо их агрегировать по следующему принципу. Во первых собрать только документы у которых определенный boId.
Далее поле time округлить до часа и посчитать сумму всех полей count в этом часу.
Т.е. допустим у меня в базе 3 записи:
1) {time: 11:20, count: 1}
2) {time: 11:30, count: 2}
3) {time: 12:10, count: 4}
Надо количества первых двух объеденить в один документ(потому что обе записи с 11 до 12 часов) и получить на выходе что то вроде
[{
time: <11:00>,
count: 3, - сумма первых двух записей
},{
time: <12:00>,
count: 4, - значение 3 записи.
}]
В выводе time не нужно приводить к строковому представлению даты, надо так же вернуть unixtime.
Спасибо.
Pavel
Попытки написать самостоятельно были? А то как будто у заказчика ТЗ читаю😁
Zaur
Pavel
Используйте промежуток $gt и $lt
Pavel
Pavel
Есть у меня ощущение, что прислал вам дичь
Физик-ядерщик
Подскажите пожалуйста, после обновления документа нужно чтобы и сам объект документа обновился.
Обновляю документ через сам объект документа:
document.updateOne({ updateField: 42 })
Физик-ядерщик
знаю про findOneAndUpdate с параметром returnOriginal: false, но мне нужно через сам объект документа обновлять
Oleh Kopyl
На запуске монга кушала 194.8 М оперативки, сейчас в мониторинге показывает 74.2.
Почему так может быть?
Viktar
Кеш
Oleh Kopyl
Viktar
И что?
Это предположение, закешировал базу, а потом оставил только нужное в памяти
Oleh Kopyl
Oleh Kopyl
Oleh Kopyl
Viktar
cacheSizeGB
Viktar
В конфиге монги
Viktar
Да
Oleh Kopyl
Oleh Kopyl
Viktar
Нет)
Oleh Kopyl
Viktar
Во-вторых вы указали 100гб
Oleh Kopyl
Viktar
Я с телефона, мне не удобно конфиг написать