文档章节

『MongoDB』集合更新操作

灰大羊
 灰大羊
发布于 2016/07/05 10:12
字数 511
阅读 1
收藏 0

参考

定义

db.collection.update(query, update, options)

改变一个在集合中已经存在的文档或文档数组。默认的,update()方法更新一个独立的文档。如果multi选项被设置为true(真),这个方法更新匹配条件的所有文档。

方法格式:

db.collection.update(
   <query>,
   <update>,
   { upsert: <boolean>, multi: <boolean> }
)
参数 类型 描述
query 文档 选择器,与find()中的用法一样。
update 文档 改变
upsert 文档、布尔 可选。默认为false。如果为true,则表示“如果文档不存在,则创建集合。”
multi 文档、布尔 可选。默认为false。如果为true,则表示“更改所有符合条件的项目。”

update参数说明

参考

Name Description
$inc 通过指定的数值自增长某个字段的值。
$rename 重命名一个字段
$setOnInsert 当文档在upsert创建期间,设置一个字段的值。对于已经存在的项目的更新不起作用。
$set 在一个已经存在的文档的字段值。
$unset 从一个文档中移除一个字段。

示例

db.products.update( { sku: "abc123" },
                    { $inc: { quantity: 5 } } )

增长sky为abc123的文档的quantity字段的值5次。(如:原为1,增长后为6)

数组操作

Name Description
$ 作为一个占位符来更新一次update操作中的第一个符合条件的元素。
$addToSet 仅当它们在集合中不存在的时候,添加元素到一个已经存在的数组。
$pop 移除一个数组中第一个或最后一个元素。
$pullAll 从一个数组中移除所有元素。
$pull 从一个数组中移除匹配的元素。
$pushAll 不建议使用. 添加所有元素。
$push 添加一个元素。

$push简单说明

格式

db.collection.update( <query>,
                      { $push: { <field>: <value> } }
                    )

示例

db.students.update(
                    { name: "joe" },
                    { $push: { scores: 89 } }
                  )

更改器

Name Description
$each $push和$addToSet的更改操作,为一个数组更新多个附加的项目。
$slice $push的更改操作来限制被更新数组的尺寸。
$sort $push的更改操作,为一个已经存在的数组排序。

© 著作权归作者所有

共有 人打赏支持
灰大羊
粉丝 4
博文 96
码字总数 95147
作品 0
浦东
项目经理
私信 提问
mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、等等)

最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的...

Airship
06/01
0
0
Node后台|数据库的安装及使用(简版)

MAC 安装mongoDB 启动 mongoDB 判断mongoDB是否已经开启 关闭 mongoDB的服务 mongodb启动成功后会显示 然后我们去看看node如何连接mongodb node 连接mongoDB需要用到 mongoose 如果连接成功的...

贝一平
05/30
0
0
MongoDB学习心得(整理中)

NoSQL(Not Only SQL)-非关系型数据库,又一种流行的数据库技术。除去复杂、臃肿的结构化语言,简单的几个函数就可以完成增删该处基本操作。NoSQL好比一个灵活的猴子,而SQL就像大笨象了。 ...

cjp路人
2013/11/03
0
0
【翻译】使用Golang+MongoDB构建微服务

原创文章,转载请注明: 转载自勤奋的小青蛙 本文链接地址: 【翻译】使用Golang+MongoDB构建微服务 翻译来源:http://goinbigdata.com/how-to-build-microservice-with-mongodb-in-golang/ ...

mickelfeng
02/08
0
0
瞬间爆炸-MongoDB4.0将支持多文档事务

瞬间爆炸-MongoDB4.0将支持多文档事务 背景 Part1:写在最前 在早期,我们说的MongoDB支持事务是指针对MongoDB的单文档级别,与我们MySQL等关系型数据库中的事务是不同的,那什么是单文档事务...

dbapower
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kylin2.5.0环境搭建及操作记录

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的H...

PeakFang-BOK
7分钟前
0
0
SpringBoot整合es

文档对像 @Document(indexName = "bigdata",type = "tag")public class User { @Idprivate String openid; private List<String> tags;public String getOpenid() ......

魔法王者安琪拉
11分钟前
0
0
windows下让 jar 在后台运行的办法

windows下 运行 java jar 不出现 命令行 窗口 新建一个披处理 run.bat,内容如下 @echo off start javaw -jar xx.jar exit 双击运行即可。...

glen_xu
20分钟前
1
0
jdk1.8 lambda stream 指定的对象属性进行去重

原因:因为Stream提供的distinct()方法只能去除重复的对象,无法根据指定的对象属性进行去重,可以应付简单场景。 解决方案: //去重,共同信息保存到bizPledgeSupplierVOs里bizPledgeSupp...

INSISTQIAO
23分钟前
0
0
vue nextTick深入理解---vue性能优化、DOM更新时机、事件循环机制

定义[nextTick、事件循环] nextTick的由来: 由于vue的数据驱动视图更新是异步的,即修改数据的当下,视图不会立即更新,而是等同一事件循环中的所有数据变化完成之后再统一进行视图更新。...

JamesView
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部