【问题标题】:mongodb: return an array of document idsmongodb:返回一个文档ID数组
【发布时间】:2013-10-04 04:59:28
【问题描述】:

是否可以在没有相关键的情况下查询 mongodb 以返回匹配文档 id 值的数组?

请考虑以下“父”数据结构:

{
  "_id": ObjectId("52448e4697fb2b775cb5c3a7"),
  "name": "Peter",
  "children": [
    {
      "name": "joe"
    }
  ]
},
{
  "_id": ObjectId("52448e4697fb2b775cb5c3b6"),
  "name": "Marry",
  "children": [
    {
      "name": "joe"
    }
  ]
}

我想查询一个父 _id 的数组,其子名称为“joe”

对于提供的示例数据,我希望从 mongo 返回以下输出:

[ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")]

我知道我可以查询这样的输出,其中也包含键

[{"_id": ObjectId("52448e4697fb2b775cb5c3a7")}, {"_id": ObjectId("52448e4697fb2b775cb5c3b6")}]

但是我需要使用这样的更新操作将上面的数组推送到另一个文档:

db.statistic.update({"date": today}, {$push: {"children": [ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")]}}, true, false)

我想避免整理文档结构,以防使用 mongo 返回一个包含适当值的数组

【问题讨论】:

    标签: mongodb mongodb-query


    【解决方案1】:

    应该可以

    db.coll.distinct("_id", {"children.name": "joe"})
    

    【讨论】:

    • 这可以使用聚合框架以某种方式完成吗?
    猜你喜欢
    • 2023-04-05
    • 2020-09-22
    • 2014-05-28
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    相关资源
    最近更新 更多