查询使用C#驱动程序深入嵌入MongoDB中的文档

时间:2015-06-10 07:18:28

标签: c# mongodb mongodb-.net-driver

这只是一个示例代码...我已经设法使用.$到达第三个嵌入文档,但没有进一步...我如何查询第四个嵌套部分(文章标题)?

  {
    "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
}

1 个答案:

答案 0 :(得分:1)

您可以使用$elemMatch匹配数组中的嵌套元素。我在这里使用headingTitle进行匹配。查询将如下 -

db.collection.find({
    "bookChapters": {
    "$elemMatch": {
        "chapterArticles": {
            "$elemMatch": {
                "articleHeadings": {
                    "$elemMatch": {
                        "headingTitle": "headingTitle"
                    }
                }
            }
        }
    }
    }
})

如果您想将其转换为mongo c#驱动程序,则可以参考this