2013-05-05 2 views
0

Я хочу, чтобы выполнить запрос, например так:Как сделать запрос OR в запросе mongo?

db.sent.find ({trigger_id: ObjectId ("516f029ac5f4810002000007"), created_at: {$ GTE: ISODate ("2013-04-01T00: 00: 00.000Z "), $ л: ISODate (" 2013-05-01T00: 00: 00.000Z 516f029ac5f4810002000007"), я хочу, чтобы ")}}) рассчитывать()

но где ObjectID (." чтобы быть несколькими различными значениями, а для монго вывести записи, соответствующие ЛЮБОЙ из значений.

Как это сделать? Благодаря!

ответ

0

Вы можете использовать $ в оператора:

db.sent.find({ trigger_id: { $in: [ <value1>, <value2>, ... <valueN> ] }, 
       created_at: {$gte: ISODate("2013-04-01T00:00:00.000Z"), $lt: ISODate("2013-05-01T00:00:00.000Z") } }).count() 

Вот больше информации о $ в операторе

http://docs.mongodb.org/manual/reference/operator/in/#op._S_in

1

Вы можете использовать MongoDB $in оператора:

db.sent.find({ 
    trigger_id: { 
     $in: [ 
      ObjectId("516f029ac5f4810002000007"), 
      ObjectId("516f029ac5f4810002000008"), 
      ObjectId("516f029ac5f4810002000009"), 
     ] 
    }, 
    created_at: { 
     $gte: ISODate("2013-04-01T00:00:00.000Z"), 
     $lt: ISODate("2013-05-01T00:00:00.000Z") 
    } 
}).count() 
Смежные вопросы