这只是一个示例代码...我已经设法使用.$
到达第三个嵌入文档,但没有进一步...我如何查询第四个嵌套部分(文章标题)?
{
"bookTitle": "MongoDB",
"_id": ObjectId("530dea1d2dbf280000533b60"),
"bookChapters": [{
"chapterTitle": "chapterTitle",
"_id": ObjectId("530dea1d2dbf280000533b61"),
"chapterArticles": [{
"articleTitle": "articleTitle",
"_id": ObjectId("530dea1d2dbf280000533b62"),
"articleHeadings": [{
"headingTitle": "headingTitle",
"_id": ObjectId("530dea1d2dbf280000533b63")
}]
}]
}],
"__v": 0
}
答案 0 :(得分:1)
您可以使用$elemMatch匹配数组中的嵌套元素。我在这里使用headingTitle
进行匹配。查询将如下 -
db.collection.find({
"bookChapters": {
"$elemMatch": {
"chapterArticles": {
"$elemMatch": {
"articleHeadings": {
"$elemMatch": {
"headingTitle": "headingTitle"
}
}
}
}
}
}
})
如果您想将其转换为mongo c#
驱动程序,则可以参考this