我想像这样运行一个查询:
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“)}})计数()
但是在ObjectID(“516f029ac5f4810002000007”)的位置,我希望它是多个不同的值,并且mongo可以提取与任何值匹配的记录。
我该怎么做?谢谢!
答案 0 :(得分: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()
答案 1 :(得分: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