MongoDB $ или для двух полей внутри стадии $ match - PullRequest
0 голосов
/ 26 февраля 2019

Вот пример моих документов MongoDB:

{
    "_id" : ObjectId("59caa2660aaafa0016344ce0"),
    "field1" : true,
    "field2" : false
}
{
    "_id" : ObjectId("59caa2690aaafa0016344ce1"),
    "field1" : false,
    "field2" : false
}
{
    "_id" : ObjectId("59caa26c0aaafa0016344ce2"),
    "field1" : false,
    "field2" : true
}

Как мне сопоставить все документы со значением field1 ИЛИ со значением field2 ИЛИ для обоих field1 и field2 установлено значение true?

Другими словами, я хочу исключить документы, в которых field1 и field2 оба являются ложными.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете использовать $ expr с $ или , попробуйте:

db.col.find({ $expr: { $or: [ "$field1", "$field2" ] } })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...