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

カウントするMongoDB集約クエリ

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

    db.users.aggregate([
      { "$match": { "_id": 2 }},
      { "$lookup": {
        "from": "follows",
        "let": { "id": "$_id" },
        "pipeline": [
          { "$facet": {
            "userFollows": [
              { "$match": { "$expr": { "$eq": ["$follower", "$$id"] }}}
            ],
            "myFollows": [
              { "$match": { "$expr": { "$eq": ["$follower", 1] }}}
            ]
          }},
          { "$project": {
            "matchedFollowed": {
              "$setIntersection": ["$userFollows.followed", "$myFollows.followed"]
            }
          }},
          { "$unwind": "$matchedFollowed" }
        ],
        "as": "user"
      }},
      { "$lookup": {
        "from": "follows",
        "let": { "ids": "$user.matchedFollowed" },
        "pipeline": [
          { "$match": { "$expr": { "$in": ["$follower", "$$ids"] }}}
        ],
        "as": "mutualConnections"
      }}
    ])
    



    1. SpringBootがazurecosmosdb(MongoDb)のシャードコレクションを更新できない

    2. グループを作成し、birtの配列リストからデータを分析します

    3. 2022年のMongoDBチュートリアル– MongoDBとは何ですか?

    4. NodeJS + MongoDB:findOne()を使用してコレクションからデータを取得する