获取mongoengine查询的结果列表

时间:2013-10-22 12:19:38

标签: django mongodb django-queryset mongoengine scalar

我正在使用mongoengine执行查询。因此,我想获得一个id列表以继续使用它们。

当我使用.scalar("id")时,我得到一个带有对象ID的查询集

  Test.objects.filter(is_deleted=False).scalar("id")    --> [ObjectId(kasdfji93jiasdkfj),....]

对于我的以下原始查询,我需要这个格式[kasdfji93jiasdkfj,....]

 { field: { $in: [kasdfji93jiasdkfj,....] } }

有没有人知道approch而没有遍历查询集来构建这个列表?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您必须将ObjectId转换为字符串,这意味着迭代查询集。

为什么在$ in查询中需要它们作为字符串 - 它更有效地存储ObjectIds。