MongoDB 学习小笔记

1、配置:mongod --dbpath=D:\MongoDB\data
mongo
2、基本的增删查改
find() update()-- 整体更新,局部更新。
修改器: $inc db.person.update({"age":23},{$inc:{"salary":1000}})
第一个参数为条件。第二个参数为修改的值,但值必须为整数。($inc allowed for numbers only)
$set 修改器: db.person.update({"name":"gll"},{$set:{"age":25}}}
还有一种操作为修改或添加操作:这里可以叫insertOrUpdate操作。
只要将update的第三个参数设为true即可。如果没有查到,就在数据库里新增一条,避免数据库里判断是update还是add操作。使用简单。
批量更新:
如果匹配多条的话, 默认的情况下只更新第一条。如果需要多条更新的话,在update的第四个参数中设为true即可。也很简单。
Remove 操作。
3、高级操作
聚合:
count() distinct() 选择了哪个属性,哪个就不能重复。
group() 参数 key : 指定文档分组的依据,所有的age键的值划分到一组,true为返回键age的值。
initial: "initial":{"person":[]} 每一组reduce函数调用的初始个数,第一组的所有成员都会使用这个累加器。
说白了。这个就是个初始值。每次$reduce 都会调用这个值进行值的改变。
例子:

db.person.group({
. "key":{"age":true},
. "initial":{"person":[]},
. "$reduce":function(cur,prev){ 第一个参数为当前文档,第二个参数为累加器文档
. prev.person.push(cur.name);
.     }
. })
eg : db.person.group({
"key": {
"age": true
},
"initial": {
"person": [
]
},
"$reduce": function(doc,out){
out.person.push(doc.name);
},
"finalize": function(out){
out.count=out.person.length;
},
"condition": {
"age": {
$lt: 25
}
}

MongoDB 学习小笔记

时间: 2024-10-03 14:44:49

MongoDB 学习小笔记的相关文章

学习小笔记---正则表达式

定义:有一定格式的字符串 作用:1.用来判断一个字符串是否符合一定的要求 2.可以去一个字符串中,把某些符合规则的字符串拿出来 格式: 由 字符簇 限定符 定位符组成 字符簇:一组字符 由字符组成的集合 [0-9]数字 [^0-9]非数字 [a-z]小写英文 [A-Z]大写英文 [a-Z]大小写英文 [a-zA-Z] [a-zA-Z0-9]大小写英文数字 \d数字 \w数字英文字母及下划线 \D 非数字 \W 非数字英文字母及下划线 . 代表所有(任意)字符,除了换行 说明:在字符簇中出现特殊字

学习小笔记---大话PHP设计模式

PHPStorm IDE 开发字体选用:Source Code Pro , Courier New , Concolas php命名空间 :可以解决 不同类中 相同名字方法的冲突 namespace test1: function test(){ } 自动载入  : function  __autoload($class){ require  __DIR__.'/'$class.'.php'; } spl_autoload_register(); 这个函数,可以允许多个 autoload 必须现

英语学习小笔记

1.It is...to do sth:做某事是.... 解析:It 是形式主语,后面一半接形容词做表语,to do sth是不定式短语作真正主语. 2.make to do和make doing是两种表达方式 解析:make.have.let三个为使役动词,其后跟省略to的不定式作宾语补足语,即:make\have\let sb. do sth.(让某人做某事),例如:The teacher made him wait outside.(主动语态) 在被动语态的句子中,则要还原不定式的符号to

java学习小笔记(三.socket通信)【转】

三,socket通信1.http://blog.csdn.net/kongxx/article/details/7288896这个人写的关于socket通信不错,循序渐进式的讲解,用代码示例说明,运用流和socket进行远程通讯 2.最简单的socket是一个服务端对应一个客户端 server的写法 ServerSocket server = new ServerSocket(10000); Socket socket = server.accept(); BufferedReader in =

php学习小笔记

PHP的四种标记风格 1.xml风格 <?php echo "xml风格"; ?> 2.脚本风格 <scriptlanguage="php"> echo '脚本风格'; </script> 3.简短风格 <?echo '简短风格';?> 4.ASP风格 <% echo 'ASP风格'; %> PHP三种注释风格 1.单行注释 // 2.多行注释 /*-*/  (不允许进行嵌套操作) 3.Shell风格注释 

MongoDB学习笔记(一) MongoDB介绍及安装

这是MongoDB的系列学习笔记的第一篇,主要介绍什么是非关系型数据库MongoDB,如何下载,去哪儿下载,又该怎么正确的安装等一系列问题. 一.前言 最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自学的 机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论.部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li- [email protected].大部分内容均系原创,欢迎大家转载分享,

MongoDB 学习笔记(二) 之查询

最简单的查询 个人认为mongoDB是面向对象的吧. 例如最简单的查询  整个数据集只有三条数据 第一查询姓名为张三的  数据 查询的条件比较好写 随意   db.collection.find(查询条件)   例如 15 得到的结果是这样 如果你不想返回某个字段呢 ,你可以自己定义返回的字段值 语法这样 db.collection.find({查询条件},{返回字段}) 16 我们看到每次查询 "_id" 这个字段 都返回  我们可以将它设置为0 这样的话就不会返回 如 查询条件里的

MongoDB学习笔记系列

回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助和启发,文章中有对新技术的研究(Mongo驱动),对老技术的回顾(代码重构),还有对架构设计的阐述等(面向接口编程,对扩展开放,对修改关闭,所以出现了IMongoRepository接口). MongoDB学习笔记系列~目录 MongoDB学习笔记~环境搭建 (2015-03-30 10:34) M

MongoDB学习笔记一:MongoDB的下载和安装

趁着这几天比较空闲,准备学习一下MongoDB数据库,今天就简单的学习了一些MongoDB的下载和安装,并创建了存储MongoDB的数据仓库.将自己今天学习到的写成博客分享给大家. 一.MongoDB的下载和安装 MongoDB的下载地址为:http://www.mongodb.org/ 1.进入官网的首页后,在首页的右上方单击Downloads连接,如图所示: 2.在页面中可以看到目前最新的版本和以前发布过的版本,这里选择最新版本,windows 32位的进行下载,文件的格式为ZIP格式的,单