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

本文关键字:深度 文档 驱动程序 查询 MongoDB 使用 | 更新日期: 2023-09-27 17:55:11

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

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

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

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

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

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