我有一个数组,假设这个:
[ObjectId('5feceb11b5ffb79d03df04a0'), ObjectId('600c1c83e5c06febfb7f8ab5'), ObjectId('5fe8f9227221766fa23707d0'), ObjectId('5fe995f93137252b3bb37bbe')]
因此,我希望在数据库中找到每个ObjectId的概要文件
所以我需要做的就是这样:
person = mongo.db.users.find_one({"username": **each ObjectId**})
其中每个ObjectId是数组中的ObjectId之一
这样一来:
person == user1; and
person == user9; and
person == user13; and
person == user16
从那以后,我可能可以在Jinja中将其作为for循环进行管理
如果要返回多个文档,请 也可以改为使用find()方法,但根据您的用例,您可能需要使用
$in
运算符,如果列表很大,该运算符可能会变慢,但如果成批执行,则会更好,从而将往返过程保存到db,并获得更好的性能然后确保列表中的每个元素都有bson
ObjectId
类型而不是pythonstr
,如果没有,可以通过导入将pythonstr
类型转换为bsonObjectId
目标因此,在确保您有一个
ObjectId
列表之后,您可以使用find
和$in
进行查询,如下所示:相关问题 更多 >
编程相关推荐