MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB obtient un nombre individuel de sous-documents avec des opérations de comparaison

Vous pouvez utiliser l'agrégation ci-dessous

db.collection.aggregate([
  { "$match": {
    "$expr": {
      "$gte": [
        { "$size": {
          "$filter": {
            "input": "$managers",
            "cond": { "$eq": ["$$this.role", "HR"] }
          }
        }},
        2
      ]
    }
  }},
  { "$addFields": {
    "count": {
      "$size": {
        "$filter": {
          "input": "$managers",
          "cond": { "$eq": ["$$this.role", "HR"] }
        }
      }
    }
  }}
])