【问题标题】:Get a list of ids as a result of a mongoengine query作为 mongoengine 查询的结果获取 id 列表
【发布时间】:2015-01-05 04:25:06
【问题描述】:

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

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

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

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

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

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

非常感谢!

【问题讨论】:

    标签: django mongodb django-queryset mongoengine scalar


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多