Mongodb 关于update和findAndModify

db.collection.update:

修改集合中的现有文档或文档。 该方法可以根据更新参数修改现有文档的特定字段或文档,或者完全替换现有文档。

默认情况下,update()方法更新单个文档。 设置多参数以更新与查询条件匹配的所有文档。

update可以更新多个文档,但是Mongodb只保证单个文档的写入是原子性的。

db.collection.findAndModify(document)

修改并返回单个文档。

当修改单个文档时,findAndModify()和update()方法都将原子地更新文档。

更新文档时,findAndModify()和update()方法的操作方式不同:

默认情况下,两个操作都会修改单个文档。但是,具有多选项的update()方法可以修改多个文档。

如果多个文档与更新条件匹配,对于findAndModify(),您可以指定一种排序来提供对要更新的文档的一些控制措施。

使用update()方法的默认行为,当多个文档匹配时,不能指定要更新的单个文档。

默认情况下,findAndModify()返回文档的预修改版本。要获取更新的文档,请使用新选项。

update()方法返回一个包含操作状态的WriteResult对象。要返回更新的文档,请使用find()方法。但是,其他更新可能已经在更新和文档检索之间修改了文档。此外,如果更新仅修改了单个文档,但是多个文档匹配,则需要使用其他逻辑来标识更新的文档。

时间: 2024-08-04 12:06:34

Mongodb 关于update和findAndModify的相关文章

MongoDB之update

Update操作只作用于集合中存在的文档.MongoDB提供了如下方法来更新集合中的文档: db.collection.update() db.collection.updateOne() New in version 3.2 db.collection.updateMany() New in version 3.2 db.collection.replaceOne() New in version 3. 你可以通过指定criteria或者filter来指定你想更新的文档: update函数执行

mongodb remove update find

更新 语法如下: 使用update方法来更新集合中的数据.update有四个参数,前两个参数是必须的. db.person.update({"name":"meteor"},{"$set":{"age":35}},true,true); 第一个参数:查询器,定位需要更新的目标文档(定义匹配条件). 第二个参数:修改器文档,指定修改内容. 第三个参数:true表示要使用upsert,即如果没有找到符合更新条件的文档,就会以这个条

mongoDB之update()操作

1.update()命令基本使用,( 默认只是更新一条符合查询条件的信息   默认情况下不存在不添加) 注意  单纯的使用db.user.update({"name":"user6"},{name:"user111"},0,1)  的情况下 会把符合查询条件{"namne":"user6"}的记录替换为一个新的字段信息   而应该使用$set,$inc等更新记录. db.collection.update(

mongodb中update方法的upsert和multi

mongodb中的update的形式是这样的: db.collectionName.update(query, obj, upsert, multi); 对于upsert(默认为false):如果upsert=true,如果query找到了符合条件的行,则修改这些行,如果没有找到,则追加一行符合query和obj的行.如果upsert为false,找不到时,不追加. 对于multi(默认为false): 如果multi=true,则修改所有符合条件的行,否则只修改第一条符合条件的行.

mongodb 更新update

1.$inc 用法:{$inc:{field:value}} 作用:对一个数字字段的某个field增加value > db.test1.update({'name':'wang'},{$inc:{age:1}}) > db.test1.find({'name':'wang'}) { "_id" : ObjectId("58662477fb6a734e8f45133f"), "name" : "wang", &quo

[MongoDB] Remove, update, create document

Remove: remove the wand with the name of "Doom Bringer" from our wandscollection. db.wands.remove({name: "Doom Bringer"}) >> WriteResult({'ngRemoved': 1}) When we removed the "Doom Bringer" wand, we noticed that it had

[MongoDB] Query, update, index and group

/* 1. Query Operators */ db.posts.find({ viewsCount: {$get: 1000, $lte: 3000} }, {_id: 0, viewsCount: 1, title: 1}) // $in db.posts.find({ categories: {$in: ['ios']} }, {categories: 1}) //$where db.posts.find({ $where: function(){ return this.categor

MongoDB insert/update/one2many案例

以博文与评论为例,博文有标题内容,对应多个评论,评论有评论人.评论内容等. (1)插入一条博文: db.blog.insert( {'_id':'11','title':'this is blog title1','content':'this is blog content1'} ) (2)更新一条博文 db.blog.update( {'_id':'11'}, {$set:{'title':'this is blog title2','content':'this is blog conte

MongoDB - MongoDB CRUD Operations, Update Documents

Update Methods MongoDB provides the following methods for updating documents in a collection: Method Description  db.collection.updateOne() Updates at most a single document that match a specified filter even though multiple documents may match the s