ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как найти данные по одному или нескольким совпадениям?

Есть документы вида
{
    count: {
        day: {
            s: 10,
            g: 0
        }
    }
}

Нужно найти документ в котором поля count.day.s ИЛИ count.day.g больше нуля

Пишу запрос
Users
    .findOne({
        $or: [{
            'count.day.s': {
                $gt: 0
            },
            'count.day.g': {
                $gt: 0
            }
        }]
    }, (e, d) => {
    
    console.log(d); // null
    
});


Выводит null, но есть один документ у которого count.day.s = 50

В чем проблема? Что не так делаю?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
longclaps
@longclaps
Скобочек не доложил:
db.test.findOne({$or: 
  [
    {'count.day.s': {$gt: 0}},
    {'count.day.g': {$gt: 0}}
  ]
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы