我有一个系列"课程"这种结构:
{
Lessons: [
{
Title: 'xxx',
Contents: [
{
Title: 'yyy',
},
...
]
},
...
]
}
如何使用MongoDB的聚合管道检索所有内容的标题列表?
我设法以这种方式展开所有内容:
db.Course.aggregate( { $unwind : '$Lessons' }, { $unwind : '$Lessons.Contents' } )
但我无法过滤每个内容中的标题。
答案 0 :(得分:1)
你非常接近。如果我的要求正确,您只需要添加投影:
db.Course.aggregate(
{ $unwind : "$Lessons" },
{ $unwind : "$Lessons.Contents" },
{ $project: { _id: 0, test: "$Lessons.Contents.Title" } }
)