0

我想像这样运行查询:

db.sent.find({trigger_id:ObjectId("516f029ac5f4810002000007"), created_at: {$gte: ISODate("2013-04-01T00:00:00.000Z"), $lt: ISODate("2013-05-01T00: 00:00.000Z")}}).count()

但是在 ObjectID("516f029ac5f4810002000007") 所在的位置,我希望这是多个不同的值,并且让 mongo 提取与任何值匹配的记录。

我该怎么做呢?谢谢!

4

2 回答 2

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()
于 2013-05-05T01:17:25.683 回答
0

您可以使用 $in 运算符:

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() 

这是有关 $in 运算符的更多信息

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

于 2013-05-05T01:16:45.417 回答