MongoDb - 查询特定的子文档

MongoDb - Query for specific subdocument

我有一组 mongodb 文档,其结构如下:

{
    "_id" : NUUID("58fbb893-dfe9-4f08-a761-5629d889647d"),
    "Identifiers" : {
        "IdentificationLevel" : 2,
        "Identifier" : "extranet\test@test.com"
    },
    "Personal" : {
        "FirstName" : "Test",
        "Surname" : "Test"
    },    
    "Tags" : {
        "Entries" : {
            "ContactLists" : {
                "Values" : {
                    "0" : {
                        "Value" : "{292D8695-4936-4865-A413-800960626E6D}",
                        "DateTime" : ISODate("2015-04-30T09:14:45.549Z")
                    }
                }
            }
        }
    }
}

我如何使用 mongo shell 进行查询以查找具有特定 "Value" 的所有文档(例如 {292D8695-4936-4865-A413-800960626E6D} 在Tag.Entries.ContactLists.Values路径?

不幸的是,该结构已被 Sitecore 锁定,因此不能选择使用其他结构。

由于您的示例集合结构显示 Values 是对象,它只包含一个 Value。您还必须检查 Value,因为它包含额外的括号。如果您想从给定结构中获取 Value,请尝试以下查询:

db.collection.find({
"Tags.Entries.ContactLists.Values.0.Value": "{292D8695-4936-4865-A413-800960626E6D}"
})