没有数组的Mongo aggegation结果

时间:2016-12-28 17:59:11

标签: mongodb aggregation-framework lookup

我在我的收藏中运行这样的聚合:

db.getCollection('thoughts').aggregate([
  {
    $lookup: {
      from: "users",
      localField: "author_id",
      foreignField: "_id",
      as: "author"
    }
  }
])

结果是:

{
  /* my thought's body */
  "author" : [
    { /* my author's body */ }
  ]
}

是否有可能获得结果相同但在#34;作者"中没有数组? field - 只是同一个对象?

1 个答案:

答案 0 :(得分:3)

试试这个。

db.getCollection('thoughts').aggregate([
      {
        $lookup: {
          from: "users",
          localField: "author_id",
          foreignField: "_id",
          as: "author"
        }
      },
      {"$unwind": "$author"}
    ])

$ unwind从输入文档中解构数组字段,为每个元素输出文档。