如何使用MongoDB聚合来包含来自另一个通过一对多关系链接的集合中的相关文档?
本质上,我想要做的是能够获取问题列表并包括与该问题相关的所有标志.
更新(2016年11月11日):解决了下面发布的解决方案.
更新(05/07/2016):我已经设法通过使用组合$unwind, $lookup, $project等来获得带有相关标志的问题列表.更新的查询如下.
问题(05/07/2016):我只能获取具有嵌套标志的问题.即使他们没有任何标志,我也想获取所有问题.
我有两个集合,一个用于内容,一个用于内容标志,如下所示:
{
"_id" : ObjectId("..."),
"slug" : "a-sample-title",
"content" : "Some content.",
"title" : "A Sample Title.",
"kind" : "Question",
"updated" : ISODate("2016-06-08T08:54:26.104Z"),
"isPublished" : true,
"isFeatured" : false,
"flags" : [
ObjectId("<id_of_flag_one>"),
ObjectId("<id_of_flag_two>")
],
"answers" : [
ObjectId("..."),
ObjectId("...")
],
"related" : [],
"isAnswered" : true,
"__v" : 4
}
Run Code Online (Sandbox Code Playgroud)
{
"_id" : ObjectId("..."),
"flaggedBy" : ObjectId("<a_users_id>"),
"type" : "like", …Run Code Online (Sandbox Code Playgroud)