Arrays mongodb中深度嵌套数组的查询

Arrays mongodb中深度嵌套数组的查询,arrays,mongodb,multidimensional-array,nested,Arrays,Mongodb,Multidimensional Array,Nested,如何查询深度嵌套的文档,如下图所示 这里的列是一个大小未知的数组。列中的每个元素都包含一个记录,该记录又是一个数组。记录数组的每个元素都包含一个名为字段的数组。字段中的每个条目包含两个键,分别称为名称和值 我正在查询最内层数组(字段数组中)的名称。我不能超过1级筑巢顺序 上图的JSON文档 "data" : { "columns" : [ { "name" : "styleId", "re

如何查询深度嵌套的文档,如下图所示

这里的
是一个大小未知的数组。列中的每个元素都包含一个
记录
,该记录又是一个数组。
记录
数组的每个元素都包含一个名为
字段
的数组。
字段中的每个条目包含两个键,分别称为
名称

我正在查询最内层数组(字段数组中)的
名称。我不能超过1级筑巢顺序

上图的JSON文档

"data" : {
        "columns" : [
            {
                "name" : "styleId", 
                "record" : [
                    {
                        "fname" : "column_mapping", 
                        "_id" : ObjectId("5ba488c79dc6d62c90257752"), 
                        "fields" : [
                            {
                                "name" : "column_mapping_form", 
                                "value" : "styleId"
                            }
                        ], 
                        "rules" : [
                            [

                            ]
                        ]
                    }
                ]
            }, 
            {
                "name" : "vendorArticleNumber", 
                "record" : [
                    {
                        "fname" : "column_mapping", 
                        "_id" : ObjectId("5ba488c79dc6d62c90257753"), 
                        "fields" : [
                            {
                                "name" : "column_mapping_form", 
                                "value" : "vendorArticleNumber"
                            }
                        ], 
                        "rules" : [
                            [

                            ]
                        ]
                    }
                ]
            }, 
            {
                "name" : "vendorArticleName", 
                "record" : [
                    {
                        "fname" : "column_mapping", 
                        "_id" : ObjectId("5ba488c79dc6d62c90257754"), 
                        "fields" : [
                            {
                                "name" : "column_mapping_form", 
                                "value" : "vendorArticleName"
                            }
                        ], 
                        "rules" : [
                            [

                            ]
                        ]
                    }
                ]
            }
}
如果存在这种起伏嵌套,解决方案是什么

db.collection.find("data.columns.record.fields.name" : "column_mapping_form")
将匹配至少有一个
列元素的所有文档,其中
至少有一个
记录
,至少有一个
字段
,其中
名称
为“列映射形式”

有很好的解释、示例和交互式shell可供使用

将匹配至少有一个
列元素的所有文档,其中
至少有一个
记录
,至少有一个
字段
,其中
名称
为“列映射形式”


有很好的解释、示例和交互式shell可供使用。

当您可以将json文档作为代码段发布时,请使用“请勿”符号并避免发布图像。我添加了json请给出一个示例,我无法超过2级嵌套当您可以将json文档作为代码段发布时,请不要使用注释并避免发布图像。我添加了json请给出一个示例,我无法超过2级嵌套