『MongoDB』集合更新操作
2013-12-16 15:54
393 查看
参考
改变一个在集合中已经存在的文档或文档数组。默认的,update()方法更新一个独立的文档。如果multi选项被设置为true(真),这个方法更新匹配条件的所有文档。
方法格式:
示例
增长sky为abc123的文档的quantity字段的值5次。(如:原为1,增长后为6)
示例
定义
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的更改操作,为一个已经存在的数组排序。 |
相关文章推荐
- mongoDB非正常关闭后无法启动问题
- Mongodb在Windows下安装及配置
- mongodb 的重启
- win7下安装mongodb
- CentOS 下安装配置mongodb
- mongodb数据库从库同步主库维护js脚本
- Mongodb安装和启动
- 如何将xls文件导入到mongoDB中?
- MongoDB 入门
- MongoDB学习系列1:shell中如何往数据库里插入文档
- MongoDB学习系列2:shell中如何查询文档,修改文档,删除文档
- Mongodb启动命令mongod参数说明
- 关于学习《 Express MongoDB 搭建多人博客》报has no method 'router'错误
- mongodb group分组
- Mongodb shell 方法
- mongodb性能压测
- MongoDB Shard Model
- MongoDB 数据分布
- MongoDB 学习笔记
- Java操作MongoDB