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

Documentos agregados donde los objetos en la matriz coinciden con múltiples condiciones

Puede utilizar la siguiente consulta con $elemMatch para que coincida con los dos valores de la matriz.

Algo como

db.collection_name.aggregate({
  "$match": {
    "item": {
      "$elemMatch": {
        "property.0": "attr1",
        "property.1": /^\+/
      }
    }
  }
});

Además, puede usar $all operador si no desea hacer referencia al índice de matriz.

db.collection_name.aggregate({
  "$match": {
    "item": {
      "$elemMatch": {
        "property": {
          "$all": [
            "attr1",
            /^\+/
          ]
        }
      }
    }
  }
});