mongodb 数据分析

GridFS

Mongodb 文件存储之 GridFs,

GridFS使用两个集合保存一个文件,fs.files与fs.chunks。可以使用下面的命令查看

show collections

fs.files集合包含了文件的元数据,使用命令查看

db.fs.files.findOne();

列出清单

使用命令查看数据库中的文件的文档

db.fs.files.find()

mongofiles

mongofiles是MongoDB提供的使用GridFS的命令行工具,使用示例如下:

# 格式
mongofiles <options> <command> <filename or _id or string>

# command项
list: 列出指定前缀的文件
search: 列出包含指定字符串的文件
put: 上传文件时指定文件名
put_id: 上传文件时指定文件名和_id
get: 获取指定文件名的文件
get_id: 获取指定_id的文件
delete:删除指定文件名的文件
delete_id: 删除指定_id的文件

上传文件

使用GridFS的put命令保存文件。输入如下的命令,实现文件的上传

mongofiles.exe -d gridfs put E:\elasticsearch-1.7.0.zip
 

下载文件

使用get命令下载文件

mongofiles.exe -d gridfs get E:\elasticsearch-1.7.0.zip

Map Reduce

MongoDB Map Reduce

Aggregate

db.DevLogCollection.aggregate(
   [
     { $match: { Content: /心跳包数据发送/,DateTime:{ "$gt":ISODate("2022-09-14 00:00:00"),"$lt":ISODate("2022-09-15 00:00:00") } } },
     { $group: {  _id : "$DeviceId", counts : {$sum : 1} }  }
   ]
);

正常一天 1440个,超过则应算 2880个;
如果允许最大一天离线1小时,即少60个;

过滤[G2S]需要转义,因为[]在正则中有其含义;

db.DevLogCollection.aggregate(
   [
     { $match: { Content: /^\[G2S\].*心跳包数据发送/,DateTime:{ "$gt":ISODate("2022-09-14 00:00:00"),"$lt":ISODate("2022-09-15 00:00:00") } } },
     { $group: {  _id : "$DeviceId", counts : {$sum : 1} }  }
   ]
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值