MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongo zählt Zeilen aus einem Array bereitgestellter Daten

Wenn ich das richtig verstanden habe, sind Sie so nah dran, überprüfen Sie diese Abfrage:

  • Benutze zuerst $match um nur Dokumente zu erhalten, deren subLevel.id ist 1 oder 2.
  • Dann, wie Sie es getan haben, $group durch die id und Summe, um die Gesamtzahl zu erhalten:
db.collection.aggregate([
  {
    "$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
  },
  {
    "$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
  }
])

Beispiel hier