mongo简介——update & findAndModify
2016-09-12 20:58
579 查看
db.COLLECTION_NAME.update({},{},true|false,true|false);
第一个参数是查询选择器,与findOne的参数一样,相当于sql的where子句
第二个参数是更新操作文件,由各种更新操作符和更新值构成,
第三个参数是upsert。如果是true,表示如果没有符合查询选择器的文档,mongo将会综合第一第二个参数向集合插入一个新的文档。
第四个参数是multi。true:更新匹配到的所有文档,false:更新匹配到的第一个文档,默认值
第三第四个参数也可以合并成一个:
db.COLLECTION_NAME.update({},{},{multi:true|false,upsert:true|false});
拥有类似事务特性的更新与查询操作——findAndModify.
非常奇怪的是,在上面的链接里面没有找到这个函数的定义。
它是原子性的,会返回符合查询条件的更新后的文档。
一次最多只更新一个文档,也就是条件query条件,且执行sort后的第一个文档。
db.COLLECTION_NAME.findAndModify({query:{},
update:{},
remove:true|false,
new:true|false,
sort:{},
fields:{},
upsert:true|false});
query是查询选择器,与findOne的查询选择器相同
update是要更新的值,不能与remove同时出现
remove表示删除符合query条件的文档,不能与update同时出现
new为true:返回个性后的文档,false:返回个性前的,默认是false
sort:排序条件,与sort函数的参数一致。
fields:投影操作,与find*的第二个参数一致。
upsert:与update的upsert参数一样。
例如:
db.mongo_book.findAndModify({query:{"code":15409639},
update:{ $set : { catalogStatus : 3}} ,
new:true,
});
第一个参数是查询选择器,与findOne的参数一样,相当于sql的where子句
第二个参数是更新操作文件,由各种更新操作符和更新值构成,
第三个参数是upsert。如果是true,表示如果没有符合查询选择器的文档,mongo将会综合第一第二个参数向集合插入一个新的文档。
第四个参数是multi。true:更新匹配到的所有文档,false:更新匹配到的第一个文档,默认值
第三第四个参数也可以合并成一个:
db.COLLECTION_NAME.update({},{},{multi:true|false,upsert:true|false});
拥有类似事务特性的更新与查询操作——findAndModify.
非常奇怪的是,在上面的链接里面没有找到这个函数的定义。
它是原子性的,会返回符合查询条件的更新后的文档。
一次最多只更新一个文档,也就是条件query条件,且执行sort后的第一个文档。
db.COLLECTION_NAME.findAndModify({query:{},
update:{},
remove:true|false,
new:true|false,
sort:{},
fields:{},
upsert:true|false});
query是查询选择器,与findOne的查询选择器相同
update是要更新的值,不能与remove同时出现
remove表示删除符合query条件的文档,不能与update同时出现
new为true:返回个性后的文档,false:返回个性前的,默认是false
sort:排序条件,与sort函数的参数一致。
fields:投影操作,与find*的第二个参数一致。
upsert:与update的upsert参数一样。
例如:
db.mongo_book.findAndModify({query:{"code":15409639},
update:{ $set : { catalogStatus : 3}} ,
new:true,
});
相关文章推荐
- findAndModify与update更新的使用
- mongodb,update和 findAndModify操作。
- mongoclient findandmodify使用
- mongo findandmodify
- Could not find JSON in http://updates.jenkins-ci.org/update-center.json?id=default&version=2.7.4
- Science论文"Clustering by fast search and find of density peaks"学习笔记
- eclipse安装插件时找不到help->software update->find and install怎么办?
- R-2.15.1 在 fedora16 上的安装(Can't find X11 headers and libs)
- Windows cannot find '.xlsx' Make sure you typed the name correctly, and then try again.
- [ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()
- Clustering by fast search and find of density peaks(code & idea)
- The difference of "apt-get update" and "apt-get upgrade"
- Unable to find Definition of MD5_Init, MD5_Update and MD5_Final!
- "Programming Microsoft DirectShow for Digital Video and Television"中简介的翻译
- Git问题:Cannot update paths and switch to branch 'dev' at the same time.
- fatal: Cannot update paths and switch to branch 'gitlab' at the same time.
- C# Collection.FindAndModify 方法 使用
- Rails requires RubyGems >= 1.3.1 (you have 1.2.0). Please `gem update --system` and try again.
- s thre anything default "Find and Replace" Dialog box
- ObjectDataSource '_DataSource' could not find a non-generic method 'Update'