sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo consultar directamente el campo anidado sin especificar el campo principal?

Simple, solo cambia tu esquema.

https://mongoplayground.net/p/npSvVzbnsyk

  {
    "name": "device1",
    "modules": [
      {
        "k": "camera",
        "v": 3
      }
    ]
  },
  {
    "name": "device2",
    "modules": [
      {
        "k": "wifi",
        "v": 3
      },
      {
        "k": "camera",
        "v": 2
      }
    ]
  },
  {
    "name": "device3",
    "modules": [
      {
        "k": "wifi",
        "v": 2
      }
    ]
  }

db.collection.find({"modules.v": 3})