MongoDB学习笔记9深入MongoDB的更新(update)操作:修改器$inc

ongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如

update(args1,args2)

args1是指查询文档的条件;

args2是指对查询到的文档进行什么样的修改;

$inc用来增加已用的键值,如果键不存在就创建;

$Inc只能修改的键值必须为整数、长整型和双精度浮点型,不能是其他类型。


使用$inc增加键值:

> db.post.findOne({"id":0})
{
"_id" : ObjectId("54a530c3ff0df3732bac167f"),
"id" : 0,
"name" : "joe",
"age" : 65,
"comments" : {
"1" : 4,
"2" : 2,
"3" : 3
}
}
> db.post.update({"id":0}, {$inc:{"age":6}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

修改后结果:

> db.post.findOne({"id":0})
{
"_id" : ObjectId("54a530c3ff0df3732bac167f"),
"id" : 0,
"name" : "joe",
"age" : 71,
"comments" : {
"1" : 4,
"2" : 2,
"3" : 3
}
}

使用$inc减少键值:

> db.post.update({"id":0}, {$inc:{"age":-16}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

修改后的结果:

> db.post.findOne({"id":0})
{
"_id" : ObjectId("54a530c3ff0df3732bac167f"),
"id" : 0,
"name" : "joe",
"age" : 55,
"comments" : {
"1" : 4,
"2" : 2,
"3" : 3
}
}
>

本文出自 “缘随心愿” 博客,请务必保留此出处http://281816327.blog.51cto.com/907015/1598401

更多相关文章
  • MongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如 update(args1,args2) args1是指查询文档的条件: args2是指对查询到的文档进行什么样的修改: 一.文档替换 > joe1= db.post.findOne({"ag ...
  • 简单单个文档插入用insert方法: > db.post.insert({"bar":"baz"}); WriteResult({ "nInserted" : 1 }) 批量插入,用insert方法(参数要是一个文档数组): > ...
  • 


    		    MongoDB学习笔记系列:(二) Shell基本操作和BSON数据类型
    1.创建一个数据库 use [databaseName] 注意:如果对这个数据库什么也不操作,这个空数据库就会自动被删除. 2.查看所有数据库 show dbs 3.给指定数据库添加集合并且添加记录 db.[documentName].insert({数据}) 4.查看数据库中的数据 show co ...
  • 


    		    MongoDB学习日志Java对MongoDB的CRUD操作
    说起Java操作数据库自然会想到Sun的知名品牌JDBC,对于MongoDB这样的NoSQL数据库,暂时没有像JDBC这样的标准. 这篇文章中对目前的形势做了分析和憧憬http://www.csdn.net/article/2012-06-21/2806842 回到正题记录下熟悉MongoDB为Ja ...
  • MongoDB的索引和关系型数据库的索引概念和功能是相同的: (1)不使用索引的搜索可以称为全表扫面,也就是说,服务器必须找完整个表才能查询整个结果: (2)建立索引后搜索,查询在索引中搜索,在索引的条目中找到条目以后,就可以直接跳转到目标文档的位置:这样的搜索比全表的搜索的速度要提高好几个数量级: ...
  • MongoDB中find查询使用Perl兼容的正则表达式 perl中正则表达式简述:http://www.chinaunix.net/old_jh/25/159388.html 示例: > db.post.find() { "_id" : ObjectId("54 ...
  • 


    		    MongoDB学习笔记11MongoDB的WEB界面
    一.开启Web界面 MongoDB自带一个微型的web管理信息界面,需要修改/etc/mongod.conf中的一个配置项: # Enable the HTTP interface (Defaults to port 28017). httpinterface=true 关闭Mongod服务,手动用 ...
  • GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储. (1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks; (2)除了将文件的每一个块单独存储外,还需要将每个文件块的元信息放入一个文档存储,并将这些文档默认集中在fs.files集合中: 例如将fo ...
一周排行
  • 


    		    patchca整合Spring MVC生成超炫的驗證碼
    官方的色调单一,随机色也不随机,黑不拉几的,很难看. 为此做了扩展实现,并整合了sprin ...
  • 并行编程awit&async相关文章 C#异步编程 今天晚上没事写了个测试的代码,又看了看.net的并行编程,两个方法,一个是异步async修饰的,另一个是普通的方法,在控制台程序的Main方法里去调用这两个 ...
  • 51CTO技术沙龙第十四期:从入门到进阶--ARP攻击入侵防御 对于内网安全人员来说ARP攻击与其他一些形式的攻击以及成为心中的梦魇.在本期沙龙中我们将请到某大型外企首席安全官 李洋与现任明教教主 秦柯带大家从入门到 ...
  • #!/bin/sh ####Author: Majesty ####RHCE OCP ####Mail: [email protected] ####blog: 51cto emperor_majesty ht
  • public class CryptogramUtil { //*********************************************************************** // 将 ...
  • 最近学Python,老是被编码的问题搞得晕乎乎的,晚上看了好多篇博客,整理出来一个比较清晰的关于几种编码以及字符集的思路. 主要参考:http://blog.sina.com.cn/s/blog_6dd65c6f01
  • 很多人估计不知道吧,MCITP还有exchange 方面的认证,目前最新的是2010的,当然也有2007的,需要三门考试.MCITP EX 2010需要通过俩门考试,62,63. 以下是微软官方的说明
  • 我所使用到的HTML页面标签: Section,div,artical,p,ol,ul,li,header,footer,span,form,input,label,h1,h2,h3 :详细说明我就不说了,只给新手说 ...
  • Gentoo(也许其他发行版也是?)中 "ntpq -p" 的 man page 只有简短的描述:“打印出该服务器已知的节点列表和它们的状态概要信息.” 我还没见到关于这个命令的说明文档,因此这里 ...
  • Autofac http://docs.autofac.org/en/latest/lifetime/startup.html  RabbitMQ http://www.rabbitmq.com/dotnet-api