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

マングース骨材ルックアップ-特定のIDでフィルタリングする方法

    以下のaggregationを使用できます mongodbを使用3.6 以上

    $matchを使用するだけです 最初の段階で親コレクションと同じように子コレクションを使用します。

    db.BusinessCollection.aggregate([
      { "$match": { "clinics": { "$type": "array" }}},
      { "$lookup": {
        "from": "ClinicsCollection",
        "let": { "clinics": "$clinics" },
        "pipeline": [
          { "$match": {
            "$expr": {
              "$and": [
                { "$in": ["$_id", "$$clinics"] },
                { "$not": { "$eq": ["$_id", 1] }}
              ]
            }
          }}
        ],
        "as": "clinics"
      }}
    ])
    


    1. リクエストごとにエクスプレス変更セッション

    2. MongoClient v3.0を使用する場合、db.collectionは関数ではありません

    3. 削除前と削除後のミドルウェアが起動しない

    4. サブドキュメントのMongoDB$sumおよび$avg