Как получить значение вложенного массива в mongodb - PullRequest
0 голосов
/ 24 сентября 2019

Необходимо получить коллекцию на основе компонента, подтипа, значения материала, который находится внутри массива регионов.

"_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": {

          }
      }

Как получить данные, имеющие значение "Pole Test", как показано ниже:

"_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 для работы с этим.

1 Ответ

0 голосов
/ 24 сентября 2019

Проверьте ссылку ниже.Это очень простой запрос, который можно выполнить с помощью оператора find.Если в поле подтипа не указан какой-либо пример значения, предоставленного вами.Вы можете обновить свой вопрос, чтобы мы могли предоставить лучшее решение

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...