我正在使用mongoengine执行查询。因此,我想获得一个id列表以继续使用它们。
当我使用.scalar("id")
时,我得到一个带有对象ID的查询集
Test.objects.filter(is_deleted=False).scalar("id") --> [ObjectId(kasdfji93jiasdkfj),....]
对于我的以下原始查询,我需要这个格式[kasdfji93jiasdkfj,....]
{ field: { $in: [kasdfji93jiasdkfj,....] } }
有没有人知道approch而没有遍历查询集来构建这个列表?
非常感谢!
答案 0 :(得分:1)
您必须将ObjectId转换为字符串,这意味着迭代查询集。
为什么在$ in查询中需要它们作为字符串 - 它更有效地存储ObjectIds。