我在我的收藏中运行这样的聚合:
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 - 只是同一个对象?
答案 0 :(得分:3)
试试这个。
db.getCollection('thoughts').aggregate([
{
$lookup: {
from: "users",
localField: "author_id",
foreignField: "_id",
as: "author"
}
},
{"$unwind": "$author"}
])
$ unwind从输入文档中解构数组字段,为每个元素输出文档。