sql >> Databáze >  >> NoSQL >> MongoDB

Mongodb agreguje tři kolekce

Můžete zkusit níže uvedený agregační dotaz.

Níže uvedený dotaz tlačí sections do department když jsou spojeni a $group tlačit oddělení k vytvoření konečné struktury.

db.college.aggregate([
  {
    "$match": {
      "university_id": "5834ecf7432d92675bde9d82"
    }
  },
  {
    "$lookup": {
      "localField": "_id",
      "from": "departments",
      "foreignField": "college_id",
      "as": "departments"
    }
  },
  {
   "$unwind": {
     "path": "$departments",
     "preserveNullAndEmptyArrays": true
    }
  },
  {
    "$lookup": {
      "localField": "departments._id",
      "from": "sections",
      "foreignField": "department_id",
      "as": "departments.sections"
    }
  },
  {
    "$group": {
      "_id": "$_id",
      "name": {
        "$first": "$name"
      },
      "university_id": {
        "$first": "$university_id"
      },
      "departments": {
        "$push": "$departments"
      }
    }
  }
])



  1. Mongo update element pole (.NET driver 2.0)

  2. Mongoose Compound Index Unikátní + řídký

  3. Jak uložit a načíst řetězec s diakritikou v redis?

  4. node-mongodb-native MongoClient neočekávaně ukončuje připojení