MongoDB
2016-04-27 16:22
441 查看
Created by 孙文亮, last modified
by Unknown User (keting) on 十二月
03, 2015
转至元数据起始
命令交互
简单查询
查询一条记录
查询一共有多少记录
distinct
复杂查询
聚合查询
管道
group by date()
排除字段为空的情况
数据更新
典型查询
诊疗圈加载时间查询
数据类型
data数据定义
常用链接
Python与MongoDB
命令交互
连接MongoDB:mongo 192.168.168.225:10000/logs
目前Mongo下的数据库有:
logs,目前存放用户行为日志
form,病历夹表单数据
platform,商业平台的相关数据
MongoDB常用命令:
> db.auth('logs','password') #填写账号密码,用密码取代“password”
> show dbs #查看所有的db
> use logs #连接到一个指定的数据库logs
> show collections #查看所有的集合
> db.getCollection('logs').find({}) #查看logs集合下的所有数据
> db.getCollection('logs').find({"log.CUSTOM_DATA.userId": 500566}) #查看userid=500566的用户日志
简单查询
查询一条记录
db.data.findOne();查询一共有多少记录
db.data.find().count();查询按照时间倒序前10条
db.data.find({'date':{$gte:new Date(2015,9,1)}}).sort({'date':-1}).limit(10);
distinct
复杂查询
聚合查询
聚合查询类似于关系数据库中的group by,是将数据按照指定维度汇总。例如:管道
group by date()
排除字段为空的情况
数据更新
db.collection.update( criteria, objNew, upsert, multi )criteria : update的查询条件,类似sql update查询内where后面的
objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
典型查询
诊疗圈加载时间查询
avg:每日平均加载时间,单位毫秒
数据类型
data数据定义
s:操作时间的秒值。m:操作时间的分钟值。
h:操作时间的小时值。
logType:值为‘appStart’,则为启动app。值为‘search’,则结果每半秒都会产生一个结果。
timestamp:为当前操作时间。
referer:上一个链接页面。
env: release为上线的情况。
常用链接
Mongo官方文档Win下安装Mongo
SQL与MongoDB对应关系
w3cschool的MongoDB学习文档,适合初学
Python与MongoDB
Python链接MongoDB,一般是用pymongo包,简要教程见此。需要注意的是:A Note On Unicode Strings中提到的问题,Python取出MongoDB的数据是字典格式,并且对字典的key和value都会编码为unicode,需要解码使用。
类似于:
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 如何在 Fedora 上安装 MongoDB 服务器
- PHP添加yaf xhprof mongodb 同理
- mongodb安装
- 我是运营,我没有假期
- 如何在 Ubuntu 上安装 MongoDB
- 信息安全聚合 Sec-News 的重构之路
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 修复mysql数据库
- perl操作MongoDB报错undefined symbol: HeUTF8解决方法
- 浅析SQL数据操作语句
- SQLServer 数据导入导出的几种方法小结
- 简述MySQL分片中快速数据迁移
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- C#中的委托数据类型简介
- SQL Server删除表及删除表中数据的方法
- 给你的数据库文件减肥