sql >> データベース >  >> NoSQL >> MongoDB

Mongodbは3つのコレクションを集約します

    以下の集計クエリを試すことができます。

    以下のクエリはsectionsをプッシュします departmentに それらが結合されたときと$group 部門をプッシュして最終的な構造を作成します。

    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. node.jsでのrequireの動作

    2. 関数への引数としてマングースを渡す

    3. マングースと非同期ウォーターフォールモデルを使用してMongoDbにデータを保存する方法

    4. 保存前のコールバックでレコードが新しいかどうかを確認します