1

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

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

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

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

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

有没有人知道一个方法而不遍历查询集来构建这个列表?

非常感谢!

4

1 回答 1

1

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

为什么需要它们成为 $in 查询中的字符串 - 存储 ObjectId 更有效。

于 2013-10-22T12:46:20.260 回答