Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb SpringDataMongo-如何为嵌套值获取嵌套的不同数组?_Mongodb_Aggregation Framework_Spring Data Mongodb - Fatal编程技术网

Mongodb SpringDataMongo-如何为嵌套值获取嵌套的不同数组?

Mongodb SpringDataMongo-如何为嵌套值获取嵌套的不同数组?,mongodb,aggregation-framework,spring-data-mongodb,Mongodb,Aggregation Framework,Spring Data Mongodb,我正在从中获取一份推荐信,并问另一个问题 我想找到“subdeptCd”所在的技术列表:“1D”。我们怎么能做到呢 { "firstName" : "Laxmi", "lastName" : "Dekate", ..... ....... ..... "departments" : { "deptCd" : "Tax", "deptName" : "Tax Handling Dept", "stat

我正在从中获取一份推荐信,并问另一个问题

我想找到“subdeptCd”所在的技术列表:“1D”。我们怎么能做到呢

{
    "firstName" : "Laxmi",
    "lastName" : "Dekate",
    .....
    .......
    .....

    "departments" : {
        "deptCd" : "Tax",
        "deptName" : "Tax Handling Dept",
        "status" : "A",
        "subdepts" : [ 
            {
                "subdeptCd" : "1D",
                "subdeptName" : "Tax Clearning",
                "desc" : "",
                "status" : "A"
                "technology" : [ 
                    {
                        "technologyCd" : "4C",
                        "technologyName" : "Cloud Computing",
                        "desc" : "This is best certficate",
                        "status" : "A"
                    }
                ]
            }
        ]
    },
},
{
    "firstName" : "Neha",
    "lastName" : "Parate",
    .....
    .......
    .....

    "departments" : {
        "deptCd" : "Tax Rebate",
        "deptName" : "Tax Rebate Handling Dept",
        "status" : "A",
        "subdepts" : [ 
            {
                "subdeptCd" : "1D",
                "subdeptName" : "Tax Clearning",
                "desc" : "",
                "status" : "A"
                "technology" : [ 
                    {
                        "technologyCd" : "9C",
                        "technologyName" : "Spring Cloud",
                        "desc" : "This is best certficate post Google",
                        "status" : "A"
                    }
                ]
            }
        ]
    },
}

通过此聚合,您可以获得不同的技术(
technology
array元素):

db.depts.aggregate( [
  {
       $unwind: "$departments.subdepts"
  },
  {
       $unwind: "$departments.subdepts.technology"
  },
  {
       $match: { "departments.subdepts.subdeptCd": "1D" }
  },
  {
       $group: { _id: "$departments.subdepts.technology.technologyCd", tech: { $first: "$departments.subdepts.technology" } }
  },
  {
      $replaceRoot: { newRoot: "$tech" }
  }
] )

通过此聚合,您可以获得不同的技术(
technology
array元素):

db.depts.aggregate( [
  {
       $unwind: "$departments.subdepts"
  },
  {
       $unwind: "$departments.subdepts.technology"
  },
  {
       $match: { "departments.subdepts.subdeptCd": "1D" }
  },
  {
       $group: { _id: "$departments.subdepts.technology.technologyCd", tech: { $first: "$departments.subdepts.technology" } }
  },
  {
      $replaceRoot: { newRoot: "$tech" }
  }
] )

不清楚问题标题中的distinct array是什么意思。可能是发布了一个示例输出。不清楚问题标题中的distinct array是什么意思。可能会发布一个示例输出。谢谢,我将如何为所有1部门获得不同的技术。subdepts.subdeptCd`您能在这里指导我吗:?谢谢,我将如何为所有1部门获得不同的技术。subdepts.subdeptCd`您能在这里指导我吗:?