pyramid学习笔记x-mongodb基本操作

mongodb是文档型数据库,区分大小写,以下只介绍基本操作。

插入

db.test.insert({"title":"HUST"})

删除

db.test.remove()

该命令只会删除test数据库下的文档数据,不会删除集合本身,原有索引会保留。要删除指定档,remove带参数。

如果删除数据很多,使用db.drop_colection会更快。但会连索引一起删掉。

更新


update有两个参数,一个查询,一个修改。

pyramid学习笔记x-mongodb基本操作
更新的时候要确保文档_id的唯一性,否则会出错。更高级的修改还可以用修改器,此处省略。

查询

查询返回一个集合中文档的子集,子集和的范围从0到整个文档,

db.test.find()返回test集合中所有内容

db.test.find({"title":"HUST"})通过一个键值对查找所有“title”为HUST的文档(可以用多个键值对综合查找)

如果find带第二个参数,则可以返回指定的键值。如要返回“title”,则title值设为1,不返回设为0,如下所示,默认情况下都返回_id。

pyramid学习笔记x-mongodb基本操作

更高级的查询还可使用查询条件"$lt","$lte","$gt","$gte","$or"等操作符,还有正则表达式,索引等。

聚合

MongoDB(突然发现以前写的都是Mongodb,不要在意这些细节...)提供了强大的聚合工具,可对集合中的文档进行统计,复杂的可利用MapReduce做复杂的数据分析。

count

返回集合中文档数量:db.test.count()

distinct

找出给定键的所有不同值,使用时需指定集合和键:

pyramid学习笔记x-mongodb基本操作

group

这个聚合稍微复杂些,用到的时候在说。

MapReduce

MapReduce是一个可以轻松并行化到多个服务器的聚合方法。他会拆分问题,再将各个部分发送到不同的机器上,让每台机器都能完成一部分,当所有机器都完成时,再把结果汇集到一起。目前还用不上如此强大的东西。


上一篇:Netapp日志出现auth.dc.trace.DCConnection.errorMsg:error报错


下一篇:微信电脑版即将到来了 安装QQ浏览器微信版体验吧