db.collection.update(query,update,options)
参数 | 作用 |
---|---|
query | 描述更新的查询条件 |
options | 描述更新的选项 |
upsert | 可选,如果不存在update的记录,是否插入新的记录。默认false,不插入 |
multi | 可选,是否按条件查询出的多条记录全部更新。 默认false,只更新找到的第一条记录 |
writeConcern | 可选,决定一个写操作落到多少个节点上才算成功。 |
操作符 | 格式 | 描述 |
---|---|---|
$set | {$set:{field:value}} | 指定一个键并更新值,若键不存在则创建 |
$unset | {$unset : {field : 1 }} | 删除一个键 |
$inc | {$inc : {field : value } } | 对数值类型进行增减 |
$rename | {$rename : {old_field_name :new_field_name } } | 修改字段名称 |
$push | { $push : {field : value } } | 将数值追加到数组中,若数组不存在则会进行初始化 |
$pushAll | {$pushAll : {field : value_array }} | 追加多个值到一个数组字段内 |
$pull | {$pull : {field : _value } } | 从数组中删除指定的元素 |
$addToSet | {$addToSet : {field : value } } | 添加元素到数组中,具有排重功能 |
$pop | {$pop : {field : 1 }} | 删除数组的第一个或最后一个元素 |
示例需求:将books文档中的favCount字段自增的
> db.books.find()
> db.books.update({_id:ObjectId("62558ad4fc0392835a753c6b")},{$inc:{favCount:1}})
#根据id查询books文档中的favCount字段,数量已自增1
> db.books.find({_id:ObjectId("62558ad4fc0392835a753c6b")})
示例需求:将books文档中分类为“novel”的文档的增加发布时间(publishedDate)
> db.books.find({type:"novel"})
db.books.update({type:"novel"},{$set:{publishedDate:new Date()}},{"multi":true})
> db.books.update( {title:"my book"}, {$set:{tags:["nosql","mongodb"],type:"none",author:"fox"}}, {upsert:true} )
> db.books.find({title:"my book"})
> db.books.update( {title:"my book"}, {justTitle:"my first book"} )
db.books.find({justTitle:"my first book"})
示例需求:将books文档中的某个book文档的收藏数(favCount)加1
> db.books.find()
db.books.findAndModify({ query:{_id:ObjectId("62558ad4fc0392835a753c6b")}, update:{$inc:{favCount:1}} })
> db.books.find()
db.books.findAndModify({ query:{_id:ObjectId("62558ad4fc0392835a753c6b")}, update:{$inc:{favCount:1}}, new: true })
与50位技术专家面对面
20年技术见证,附赠技术全景图
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://wwwxz.blog.csdn.net/article/details/124159381
内容来源于网络,如有侵权,请联系作者删除!