您的位置:首页 > 数据库 > Mongodb

2.0.0、mongodb细说高级操作

2016-06-02 00:00 399 查看
摘要: mongodb高级查询

聚合函数的使用

count() 统计: 命名:db.person.count([{"字段名":值}])注:[条件可选]

distinct()去重:命名:db.person.distinct("") 注:这里有一些特别,括号里的内容key值(字段名并没有像查询统计之类的条件值。

mapReduce

map:这个称为映射函数,里面会调用emit(key,value),集合会按照你指定的key进行映射分组。

reduce:这个称为简化函数,会对map分组后的数据进行分组简化,

注意:在reduce(key,value)中的key就是emit中的key,vlaue为emit分组后的emit(value)的集合,这里也就是很多{"count":1}的数组。

mapReduce:参数为map,reduce和一些可选参数

var map=function(){ 是写映射(Map)函数,可以简单的理解成分组

emit(this.age,this.name);


}

var reduce=function(key,values){ 简化

var ret={age:key,name=values};


}

db.person.mapReduce(map,reduce,[可选参数] {"out":"collection"})

这些key分别代表以下:

result: "存放的集合名“;


input:传入文档的个数。


emit:此函数被调用的次数。


reduce:此函数被调用的次数。


output:最后返回文档的个数。


查看结果集:db.collection.find()

游标

mongodb里面的游标有点类似我们说的C#里面延迟执行

var list=db.person.find()'

还可以加一些条件,分页,排序等

排序

db.person.find().sort(key:1|-1)  1升序,-1降序


加$where的查询

db.person.find(

{$where:function(){

return this.age>2;

}}

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: