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

$mapを使用したMongoDBネストされた配列検索

    以下のクエリを使用できます。

    私が変更したいくつかのこと。

    1. $elemMatchはありません 単一の基準には必要です。代わりにドット表記を使用してください。

    2.サブグループの$mapを移動します グループ内の$map オペレーター。

    [
      {"$match":{
        "empId":"19107",
        "address.country":"AUS",
        "group.primaryGroup.primary":"Y",
        "group.subGroup.primarySubGroup.primary":"Y"
      }},
      {"$project":{
        "empId":1,
        "mobile":1,
        "address":{"$filter":{"input":"$address","as":"d","cond":{"$eq":["$$d.country","AUS"]}}},
        "group":{
          "$map":{
            "input":"$group",
            "as":"v",
            "in":{
              "groupId":"$$v.groupId",
              "primaryGroup":{"$filter":{"input":"$$v.primaryGroup","as":"vp","cond":{"$eq":["$$vp.primary","Y"]}}},
              "subGroup":{
                "$map":{
                  "input":"$$v.subGroup",
                  "as":"n",
                  "in":{
                    "subGroupId":"$$n.subGroupId",
                    "primarySubGroup":{"$filter":{"input":"$$n.primarySubGroup","as":"mp","cond":{"$eq":["$$mp.primary","Y"]}}}
                  }
                }
              }
            }
          }
        }
      }}
    ]
    



    1. MGO:クエリを正規化できません:BadValue不明な演算子:$ meta

    2. フィールドごとのMongoDB集計が存在します

    3. MongoDBアグリゲーションを使用したイベントのコレクションからの線形ファネル、それは可能ですか?

    4. mLab認証のMongoDBが失敗する