【发布时间】:2022-01-23 16:53:57
【问题描述】:
我有一个 ID 列表,我想根据该列表查询一个集合。我过滤的字段是id_,它是ObjectID。
例子:
list = ['abcd','mnop','qrst']
我想搜索_id 在该列表中的文档:
cursor = db.find( {"_id": { "$in": list} } )
cursor = db.find( {"_id": { "$in": ObjectId(list)} } )
我尝试了上述两个选项,但都没有奏效。
第一个返回空,第二个抛出类型错误:
TypeError: id must be an instance of (bytes, str, ObjectId), not <class 'list'>
如何更正我的代码?
【问题讨论】:
-
你有没有试过这样的
ObjectIds列表:[ ObjectId('61bde475a216f8027c1379d1'), ...] -
它有效。
list = [ObjectId(x) for x in list]。谢谢。随时提出问题