2013-06-03 6 views

ответ

102
$match: { $or: [{ author: 'dave' }, { author: 'john' }] } 

как так, так как оператор $match просто берет то, что вы обычно положить в find() функции

53

Particular вашему выше вопрос, т.е.

db.articles.aggregate(
    { $or: [ $match : { author : "dave" }, $match : { author : "john" }] } 
); 

Я бы порекомендовал t о идти с $in оператора для того же запроса, т.е. следующим образом:

$match : { 'author' : { $in: ['dave','john'] } 
+1

Согласно Mongo docs, этот «самый эффективный» способ сделать это для сравнений сравнений, таких как ваш пример. См. Http://docs.mongodb.org/manual/reference/operator/query/or/#_S_or%22 –

+1

$ in - это способ пойти – blueskin

+0

Я верю, что $ или не является агентом агрегации. –

Смежные вопросы