MongoDB aggregation framework match OR
можно ли сделать или в $match?
Я имею в виду что-то вроде этого:
db.articles.aggregate(
{ $or: [ $match : { author : "dave" }, $match : { author : "john" }] }
);
2 ответа:
$match: { $or: [{ author: 'dave' }, { author: 'john' }] }так, с
$matchоператор просто берет то, что обычно ставят вfind()функции
в данном конкретном случае, где вы находитесь
$or- ing то же самое поле на$inоператор был бы лучшим выбором, также потому, что он повышает читаемость:$match: { 'author': { $in: ['dave','john'] } }согласно документам MongoDB, используя
$inв этом случае рекомендуется:$или против $in
при использовании $или с , которые являются равенства проверяет значение того же поля, вместо этого используйте оператор $in из $или оператор.
https://docs.mongodb.com/manual/reference/operator/query/or/#or-versus-in