MongoDb的一些操作

MongoDb:

本地中导出mongodb的数据到本地(保存为csv文件)
mongoexport -d 数据库名称 -c 集合名称 -f time,user,ips,traffic(-f指查询的字段) --csv -o ./文件名.csv
按照 name 分组 得到 age 的总合,即每name的age之和
db.getCollection('test').aggregate([{$group : {_id : "$name", sum : {$sum : '$age'}}}])
aaa的指定时间段的traffic之和

match: 过滤条件
group: 分组条件(按什么分组, 如果写null,则不分组)

db.getCollection('test').aggregate([ 
{ $match : 
    {
    'time':{$gte:ISODate("2020-12-07T00:00:00.000Z"), $lt:ISODate("2020-12-08T00:00:00.000Z")},
    'app':{$eq:'aaa'}
    }
},
{$group : {_id : null, sum : {$sum : '$traffic'}}}
])
当天的总量
db.getCollection('record_hourly').aggregate([ 
{ $match : 
    {
      'time':{$gte:ISODate("2020-12-07T00:00:00.000Z"), $lt:ISODate("2020-12-08T00:00:00.000Z")},
    }
},
{$group : {_id : null, sum : {$sum : '$traffic'}}}
])

总user数


db.getCollection('record_hourly').
distinct(
'user',{
  'time':{$gte:ISODate("2020-12-07T00:00:00.000Z"), $lt:ISODate("2020-12-08T00:00:00.000Z")},
        'app':{$eq:'wmh'}
 })
使用量最大的前5位

写不写 $ 是两个概率,我这里写 $user 是表示使用 user 这个字段做分组条件
{$sum : '$bbb'}表示使用 bbb 字段求和
{$sort:{sum:-1}}表示按照sum的结果倒序
{$limit:5}表示取前五个

db.getCollection('record_hourly').aggregate([ 
{ $match : 
   {
   'time':{$gte:ISODate("2020-12-06T00:00:00.000Z"), $lt:ISODate("2020-12-07T00:00:00.000Z")},
       'app':{$eq:'unknown'}
   }
},
{$group : {_id : '$user', sum : {$sum : '$bbb'}}}
,
{$sort:{sum:-1}}
,
{$limit:5}
])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值