【发布时间】:2020-04-03 00:03:33
【问题描述】:
我有 2 个收藏:
用户集合:
[
{
"_id" : ObjectId("3a9ccf7de6348936d88b3601"),
"first_name" : "John",
},
{
"_id" : ObjectId("3a9ccf7de6348936d88b3602"),
"first_name" : "Jane",
}
]
CommentCollection(带有嵌入的ReplyCollection):
[
{
"_id" : ObjectId("3a9ccf7de6348936d88b3601"),
"user_id": ObjectId("3a9ccf7de6348936d88b3601"),
"body" : "Hello World",
"replies":
[
{
"_id" : ObjectId("3a9ccf7de6348936d88b3441"),
"user_id": ObjectId("3a9ccf7de6348936d88b3601"),
"body" : "World said, Hello Back",
}
]
},
{
"_id" : ObjectId("3a9ccf7de6348936d88b3602"),
"user_id": ObjectId("3a9ccf7de6348936d88b3601"),
"body" : "Hello Stack",
"replies":
[
{
"_id" : ObjectId("3a9ccf7de6348936d88b3602"),
"body" : "Stack said Overflow",
"user_id": ObjectId("3a9ccf7de6348936d88b3601"),
}
]
}
]
查询加入评论和用户:
db.comments.aggregate([
{ "$lookup": {
"from": "Users",
"localField": "user_id",
"foreignField": "_id",
"as": "user" }
},
{"$unwind": "$user"}
]);
行为:cmets 和用户表已按预期连接。
问题:是否可以在同一个查询中加入回复用户关系?
提前致谢。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework