MongoDB指令实践
来源:互联网 发布:2017年淘宝搜索规则 编辑:程序博客网 时间:2024/05/31 18:55
学一门技术,得先知道它有什么东西,从整体上有个把握,然后再去学,就能跟整体上的东西一一对应,所以我们要看官网
https://docs.mongodb.com/manual/reference/operator/aggregation/skip/
insert
db.chenhao.insert({id:1,name:"chenhao2",date:"19920221"}) 连续输入此指令使插入十条
aggregate
1)project 不改变表格的实际内容,只显示出想要显示的字段
db.chenhao.aggregate({$project:{id:1,name:1}}) 只显示两个字段,id和name,但会默认显示索引 id值
db.chenhao.aggregate({$project:{_id:0,newid:{$add:["$id",10]}}}) 把id值+10然后显示到newid栏里面,不会改变原集合的值
db.chenhao.aggregate({$project:{id:1,name:1,value:{param1:"$id",param2:"$id",param3:"$id",param4:{$add:["$id",10]}}}})
随心所欲的显示,为1表示显示,如果查询条件为1,但实际集合没有这个字段,实际查询结果中不会显示
2)match过滤操作
db.chenhao.aggregate({$match:{id:1}})
db.chenhao.aggregate({$match:{id:1}},{$limit:5}) 同级操作,如match,limit等都应该在各自的大括号里面
如果按照管道的思想,这句话的效果是先查询出所有id为1的数据,然后再进行分片限制值显示5条
Group
插入:
for(var i=1; i<20; i++){ var num=i%6; db.ch.insert({_id:i,name:"user_"+i,age:num}); } 循环插入20条数据,这个比前面高端很多了
分组:这两种方式都可以达到分组查询的效果
db.ch.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){prev.num++}})
db.runCommand({group:{ns:"ch",key:{age:true},initial:{num:0},$reduce:function(doc,prev){prev.num++}}})
筛选后再分组
db.ch.group({ key:{age:true}, initial:{num:0}, $reduce:function(doc,prev) { prev.num++ }, condition:{age:{$gt:2}} });
普通where查询
db.ch.find({$where:function(){ return this.age>2; } });
group联合where查询
db.ch.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){prev.num++},condition:{$where:function(){return this.age>2;}}})
condition里面的内容是优先于$reduce执行的
使用函数返回值分组db.ch.group({ $keyf:function(doc){return {age:doc.age};}, initial:{num:0}, $reduce:function(doc,prev){ prev.num++ } });
结果跟前面第一个分组查询是一样的
使用终结器,效果还是分组查询,但在多了一个终结器部分,这个终结器的效果是完成查询后,增加count字段,值跟num字段相同,并删除num字段
db.ch.group({ $keyf:function(doc){return {age:doc.age};}, initial:{num:0}, $reduce:function(doc,prev){ prev.num++ }, finalize: function(doc){ doc.count=doc.num;delete doc.num; } });
0 0
- MongoDB指令实践
- MongoDB实践
- mongodb实践
- mongodb的指令集
- mongodb基本指令
- MongoDB的指令
- mongodb 常用指令
- mongoDB操作指令
- MongoDB简单操作指令
- mongodb基本指令操作
- MongoDB的基本指令
- mongodb常用指令
- Mongodb 简单指令
- mongodb数据库操作指令
- mongodb的常用指令
- mongodb常用指令
- MongoDB常用操作指令
- mongodb数据库常用指令
- android 中怎么控制EditText只能输入数字和字母?
- 斯坦福大学机器学习笔记(1)
- is not on any development teams in Xcode7.2 问题解决
- grass gis 的求buffer最基本内容
- jsonp的原理
- MongoDB指令实践
- Android studio NDK配置使用
- java 实现WebService 以及不同的调用方式
- uva10048
- iOS开发总结之UITableView表格数据的批量操作
- Unsupported major.minor version 52.0
- 如何判断当前应用程序是否在前台运行?
- C++ STL 基础及应用(1) STL历史、组成和使用方法
- OAuth2 授权分析