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

MongoDBの条件付き$lookup?

    以下の集計を使用できます

    $ expr その中で集計演算子を使用できます。したがって、 $ cond> allowedRolesを持つユーザーの集計 まだ誰がいないのか

    db.users.aggregate([
      { "$match": { "name": "Charles" }},
      { "$lookup": {
        "from": "roles",
        "let": { "ar": "$allowedRoles" },
        "pipeline": [
          { "$match": {
            "$expr": {
              "$cond": [
                { "$eq": [{ "$type": "$$ar" }, "missing"] },
                {},
                { "$in": ["$_id", "$$ar"] }
              ]
            }
          }}
        ],
        "as": "roles"
      }}
    ])
    



    1. MongoDBには、更新データに含まれていない既存の要素を削除せずにドキュメントを更新する方法がありますか?

    2. IDが手動で割り当てられている場合、SpringDataMongoDBアノテーション@CreatedDateが機能していません

    3. キーが存在する場合はHSET

    4. 親ドキュメントが存在しない可能性がある場合は、MongoDBサブドキュメントを更新します