mongo aggregate

/* 1 */
{
    "_id" : ObjectId("57402dc7beb185de3efa6ac3"),
    "name" : "test1",
    "group" : [ 
        {
            "$ref" : "Group",
            "$id" : ObjectId("56a60c73f5b95a61e20b31b9")
        }
    ],
    "classId" : "56a60c73f5b95a61e20b31b9",
    "like" : [],
    "fans" : 2
}


查詢用戶的粉絲數

db.User.aggregate([{
    $group:{_id:"$name",count:{$sum:1},total:{$sum:"$fans"}}
}])


查用同一個名字的人

db.User.aggregate([{
    $group:{_id:"$name",count:{$sum:1}}
}])


查詢粉絲數大於5的名字

db.User.aggregate([
  {$match:{fans:{$lt:5}}},
  {$group:{_id:"$name",fans:{$sum:1}}}  
]);

注意match和group的先條件和後條件,match後再group。。

也可以 在group後match   

db.User.aggregate([
    {$match:{fans:{$gte:2}}},
  {$group:{_id:"$name",count:{$sum:1}}},
    {$match:{_id:"test1"}}
]);
在粉絲數大於2裏面找名字爲test1的人





 














發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章