Можно ли выполнить ИЛИ в совпадении $?Согласование структуры агрегации MongoDB ИЛИ
Я имею в виду что-то вроде этого:
db.articles.aggregate(
{ $or: [ $match : { author : "dave" }, $match : { author : "john" }] }
);
Можно ли выполнить ИЛИ в совпадении $?Согласование структуры агрегации MongoDB ИЛИ
Я имею в виду что-то вроде этого:
db.articles.aggregate(
{ $or: [ $match : { author : "dave" }, $match : { author : "john" }] }
);
$match: { $or: [{ author: 'dave' }, { author: 'john' }] }
как так, так как оператор $match
просто берет то, что вы обычно положить в find()
функции
Particular вашему выше вопрос, т.е.
db.articles.aggregate(
{ $or: [ $match : { author : "dave" }, $match : { author : "john" }] }
);
Я бы порекомендовал t о идти с $in
оператора для того же запроса, т.е. следующим образом:
$match : { 'author' : { $in: ['dave','john'] }
Согласно Mongo docs, этот «самый эффективный» способ сделать это для сравнений сравнений, таких как ваш пример. См. Http://docs.mongodb.org/manual/reference/operator/query/or/#_S_or%22 –
$ in - это способ пойти – blueskin
Я верю, что $ или не является агентом агрегации. –
Привет, Эта ссылка может помочь вам http://www.codefari.com/2015/11/match-aggregation-in-mongodb-with. html – Singh