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

複数の基準を使用した集計と、カウントキーに基づく合計の一致

    コレクションは2つあるので、使用する必要があります

    mongoスクリプトを以下に示します。

    db.colA.aggregate([
      {
        $lookup: {
          from: "colB",
          let: {
            bid: "$_id"
          },
          pipeline: [
            {
              $match: {
                $or: [
                  {
                    is_delete: false
                  },
                  {
                    is_delete: {
                      "$exists": false
                    }
                  }
                ]
              }
            },
            {
              $unwind: "$items"
            },
            {
              $match: {
                $expr: {
                  $eq: [
                    "$items._id",
                    "$$bid"
                  ]
                }
              }
            },
            
          ],
          as: "data"
        }
      },
      {
        $project: {
          count: {
            $reduce: {
              input: "$data",
              initialValue: 0,
              in: {
                $add: [
                  "$$value",
                  "$$this.items.size"
                ]
              }
            }
          }
        }
      }
    ])
    

    作業中Mongo遊び場




    1. Meteor:クライアントからMongoコレクションへのファイルのアップロードvsファイルシステムvs GridFS

    2. MongoのオブジェクトIDを一意の識別子として使用しても大丈夫ですか?もしそうなら、どうすればそれを文字列に変換して文字列で検索できますか?

    3. MongoDBで内部結合を行う方法は?

    4. Laravel-特定の文字列を含むすべてのキャッシュ/Redisキーを消去します