dsqzhaoyue 发表于 2015-7-8 10:21:29

『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]
查看完整版本: 『MongoDB』集合更新操作