我检索ObjectId列表,我想使用参数$ all
检索我的mongo数据库中的所有对象我正在使用pymongo,我的请求看起来像这样:
db.database.collection.find({ "_id" : { "$all" : [ObjectId('4ee371837c93dd33dc000003'),ObjectId('4eef9f647c93dd1a90000000')] } })
但请求返回的游标数为0 但是当我这样做时:
db.database.collection.find_one({ "_id" : ObjectId('4ee371837c93dd33dc000003')})
它返回了我的好对象
任何人都知道它为什么不起作用?
答案 0 :(得分:7)
该查询没有意义。您要求唯一且单值_id
字段同时所有两个不同的值 。
我想你想要$in
:
db.database.collection.find({ "_id" : {
"$in" :
[ObjectId('4ee371837c93dd33dc000003'),
ObjectId('4eef9f647c93dd1a90000000')] } })