MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongodb agreguje trzy kolekcje

Możesz wypróbować poniżej zapytanie agregujące.

Poniższe zapytanie przesyła sections do department kiedy są przyłączone i $group popchnąć dział, aby stworzyć ostateczną strukturę.

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - za dużo danych dla sort() bez błędu indeksu

  2. Pandas DatetimeIndex z MongoDB ISODate

  3. Jak utworzyć dokument Bson o wartości Null przy użyciu oficjalnego sterownika C#?

  4. Wydajność MongoDB toArray

  5. Jakie znaczenie ma kolejność indeksów złożonych w MongoDB pod względem wydajności?