Получили награду Х или Награду У
{$or : [{rewardId : 1}, {rewardId : 2}]}
и так еще можно
{rewardId : {$in : [1, 2]}}
Задача 2: Показать всех пользователей, которые
1. Получили награду Х или Награду У
И
2. Выполнили задание Х или задание У
{$or : [{rewardId : 1}, {rewardId : 2}],
$or: [ { taskId : { $eq: 1 } }, { taskId : { $eq: 2} }]
}
Логические операции,
$or,
$and,
$where,
mapReduce
Сложные запросы можно еще вот так делать:
db.foo.find({$where : function() {
return (this.cost>5 && this.cost<10 )|| (this.is_hidden != 1) || (this.link == this.url);
}})
Источник