sql >> Database teknologi >  >> NoSQL >> MongoDB

Saml dokumenter, hvor objekter i array matcher flere betingelser

Du kan bruge nedenstående forespørgsel med $elemMatch for at matche arrayets begge værdier.

Noget lignende

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

Du kan også bruge $all operator, hvis du ikke ønsker at referere til matrixindeks.

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



  1. Hvordan kombinerer jeg to $og-sætninger i en $or-sætning i mongodb?

  2. Tilføjelse af mongodb-udvidelse til php 5.6 (XAMPP)

  3. Fjern dubletter på mongodb

  4. Slet funktion virker ikke med angularJS