sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man filtrerar och kartlägger array av dokument i MongoDB-frågan?

Du kan slå in $filter uttryck inuti $map för att kartlägga utdatavärdena.

db.people.aggregate([
  {
    "$project": {
      "name": 1,
      "age": 1,
      "hobbies": {
        "$map": {
          "input": {
            "$filter": {
              "input": "$hobbies",
              "as": "hobbyf",
              "cond": "$$hobbyf.regular"
            }
          },
          "as": "hobbym",
          "in": {
            "name": "$$hobbym.name",
            "type": "$$hobbym.type"
          }
        }
      }
    }
  }
])



  1. Aggregerad mongo-data php

  2. Vad är ett rent sätt att stoppa mongod på Mac OS X?

  3. Mongoose - använder Populate på en array av ObjectId

  4. Infoga array av objekt i MongoDB