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

グループ数で$groupの結果を取得する

    1. $projectを使用します tagを保存するには およびcount tmp
    2. $pushを使用します またはaddToSet tmpを保存する dataに リスト。

    コード:

    db.test.aggregate(
        {$unwind: '$tags'}, 
        {$group:{_id: '$tags', count:{$sum:1}}},
        {$project:{tmp:{tag:'$_id', count:'$count'}}}, 
        {$group:{_id:null, total:{$sum:1}, data:{$addToSet:'$tmp'}}}
    )
    

    出力:

    {
        "result" : [
                {
                        "_id" : null,
                        "total" : 5,
                        "data" : [
                                {
                                        "tag" : "SOME",
                                        "count" : 1
                                },
                                {
                                        "tag" : "RANDOM",
                                        "count" : 2
                                },
                                {
                                        "tag" : "TAGS1",
                                        "count" : 1
                                },
                                {
                                        "tag" : "TAGS",
                                        "count" : 1
                                },
                                {
                                        "tag" : "SOME1",
                                        "count" : 1
                                }
                          ]
                  }
          ],
          "ok" : 1
    }
    


    1. $cond内に$existsを使用した条件付きグループ化

    2. Redis +ActionController::ライブスレッドが死んでいない

    3. Redisの変更を聞きますか?

    4. MongoDBjsonSchema検証additionalProperties