『MongoDB』集合更新操作
参考定义
db.collection.update(query, update, options)
改变一个在集合中已经存在的文档或文档数组。默认的,update()方法更新一个独立的文档。如果multi选项被设置为true(真),这个方法更新匹配条件的所有文档。
方法格式:
db.collection.update(
,
,
{ upsert: , multi:}
)
参数
类型
描述
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( ,
{ $push: { :} }
)
示例
db.students.update(
{ name: "joe" },
{ $push: { scores: 89 } }
)
更改器
Name
Description
$each
$push和$addToSet的更改操作,为一个数组更新多个附加的项目。
$slice
$push的更改操作来限制被更新数组的尺寸。
$sort
$push的更改操作,为一个已经存在的数组排序。
页:
[1]