首页 > 解决方案 > 如何在mongodb中获取嵌套数组值

问题描述

需要根据区域数组内的组件、子类型、材质值获取集合。

"_id":"01"
"pole_num": "1"
"pole_height":"10"
"lat":"39.94142507"
"lon": "-86.07079913"
"image": "_DSC9468.JPG",
"road_accessible": "true",
"regions": {
    0: {
          "Component": "Pole Test",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
    },
    1: {
          "Component": "TestAnchor",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
    }

"_id":"02"
"pole_num": "2"
"pole_height":"10"
"lat":"39.94142507"
"lon": "-86.07079913"
"image": "_DSC9468.JPG",
"road_accessible": "true",
"regions": [
    0: {
          "Component": "Pole Test",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
       },
    1: {
          "Component": "Test Anchor2",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
      }

如何获取具有“极点测试”值的数据,如下所示:

"_id":"01"
"pole_num": "1"
"pole_height":"10"
"lat":"39.94142507"
"lon": "-86.07079913"
"image": "_DSC9468.JPG",
"road_accessible": "true",
"regions": {
    0: {
          "Component": "Pole Test",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
    }

"_id":"02"
"pole_num": "2"
"pole_height":"10"
"lat":"39.94142507"
"lon": "-86.07079913"
"image": "_DSC9468.JPG",
"road_accessible": "true",
"regions": [
    0: {
          "Component": "Pole Test",
          "Sub Type": {

          },
          "Material": "Unknown",
          "Condition": {

          },
          "Misc": {

          }
       }

是否有任何可能的 mongodb 查询来处理这个问题。

标签: laravelmongodbfilter

解决方案


检查下面的链接。它是一个非常简单的查询,可以使用 find 运算符完成。除非您在子类型字段中提供了一些示例值。您可以更新您的问题,以便我们提供更好的解决方案

db.collection.find({
  "regions.Component": "Pole Test",
  "regions.Material": "Unknown"
})

https://mongoplayground.net/p/1K4NXPTllHz


推荐阅读