mongo aggregate

本文介绍了使用MongoDB进行聚合查询的方法,包括如何统计用户粉丝数量、查找具有相同名字的用户及筛选粉丝数超过特定阈值的用户名等。通过具体实例展示了聚合框架中$group和$match操作符的应用技巧。
摘要由CSDN通过智能技术生成

/* 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的人




   















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值