MongoDB update()和save()方法:更新或修改数据
2023-06-13 09:12:01 时间
MongoDB 使用 update() 和 save() 方法来更新(修改)集合中的文档。
update() 方法
upsert:为布尔型可选项,表示如果不存在 update 的记录,是否插入这个新的文档。true 为插入;默认为 false,不插入。 multi:也是布尔型可选项,默认是 false,只更新找到的第一条记录。如果为 true,则把按条件查询出来的记录全部更新。 writeConcem:表示出错级别。 collation:指定语言。
MongoDB update() 更新文档的基本语法如下:
db.collection.update(
query ,
update ,
{
upsert,
multi,
writeConcern,
collation
}
)
参数说明:
upsert:为布尔型可选项,表示如果不存在 update 的记录,是否插入这个新的文档。true 为插入;默认为 false,不插入。 multi:也是布尔型可选项,默认是 false,只更新找到的第一条记录。如果为 true,则把按条件查询出来的记录全部更新。 writeConcem:表示出错级别。 collation:指定语言。
例如,插入多条数据后,使用 update 进行更改,代码如下:
db.test.insertMany ([ { item : card ,qty : 15 }, { item : envelope , qty: 20 }, { item : stamps , qty: 30 } ]);
将 item 为 card 的数量 qty 更正为 35,代码如下:
db.test.update( item : card $set: {qty: 35} }
collation 特性允许 MongoDB 的用户根据不同的语言定制排序规则,在 MongoDB 中字符串默认当作一个普通的二进制字符串来对比。而对于中文名称,通常有按拼音顺序排序的需求,这时就可以通过collation来实现。
创建集合时,指定 collation 为 zh,按 name 字段排序时,则会按照 collation 指定的中文规则来排序,代码如下:
db.createCollection ( person , {collation: {locale: zh }}) //创建集合并指定语言 db.person.insert ({name: 张三 }) db.person.insert ({name: 李四 }) db.person.insert ({name: 王五 }) db.person.insert ({name: 马六 }) db.person.insert ({name: 张七 }) db.person.find().sort({name: 1}) //查询并排序 //查询返回结果 { _id : Objectld ( 586b995d0cec8d86881cffae ) , name : 李四 } { _id : Objectld ( 586b995d0cec8d8 6881cffb0 ) , name : 马六 }. { _id : Objectld ( 586b995d0cec8d86881cffaf ), name : 王五 } { _id : Objectld ( 586b995d0cec8d86881cffb1 ), name : 张七 } { _id : Objectld ( 586b995d0cec8d86881cffad ), name : 张三 }save() 方法
MongoDB 另一个更新(修改)文档的方法是 save(),语法格式如下:
db.collection.save ( obj )
obj 代表需要更新的对象,如果集合内部已经存在一个与 obj 相同的 _id 的记录,Mongodb 会把 obj 对象替换为集合内已存在的记录;如果不存在,则会插入 obj 对象。
如下代码会先保存一个 _id 为 100 的记录,然后再执行 save,并对当前已经存在的数据进行修改:
db.products.save( { _id: 100, item: watern, qty: 30 }) db.products.save( { _id : 100, item : juice })
如果使用 insert 插入记录,若新增数据的主键已经存在,则会抛出 DuplicateKeyException 异常提示主键重复,不保存当前数据。
23414.html
goMongoDBQt相关文章
- MongoDB:满足你所有的使用场景(mongodb使用场景)
- MongoDB扩展:激活新功能的下载之旅(mongodb扩展下载)
- 使用MongoDB聚合查询实现数据可视化(mongodb聚合查询)
- 配置MongoDB账号密码配置指南(mongodb的账号密码)
- MongoDB极速合并数据实现快速分析(mongodb数据合并)
- 位MongoDB官网:提供32位操作系统下的支持(mongodb官网32)
- MongoDB入门指南:快速学会使用它(mongodb入门教程)
- Mongodb 定位全攻略——优化数据位置策略(mongodb位置)
- 学习MongoDB:快速掌握使用方法(mongodb怎么用)
- Mongodb与ES组合,实现数据存储和搜索的双重效益(mongodb和es)
- MongoDB存储过程:提高数据处理效率的利器(mongodb存储过程)
- Mongodb快速新建表,更高效管理数据(mongodb新建表)
- MongoDB实现数据分片的有效策略(mongodb数据分片)
- Mongodb开发:高效的设计模式(mongodb设计模式)
- 轻松导入数据:CSV文件快速入库MongoDB(csv导入mongodb)
- Mongodb日志存储:保护数据的必备步骤(mongodb日志存储)
- MongoDB数据库:高效存储大数据的最佳选择(mongodb存储数据)
- Mongodb误删数据怎样快速恢复?(mongodb误删恢复)
- 使用MongoDB存储和查询经纬度数据的最佳实践(mongodb经纬度)
- MongoDB操作体验提升——工具类助力成功(mongodb操作工具类)
- 借助Mongodb轻松完成数据库清理工作(mongodb 数据清理)
- MongoDB中查找大于小于等特殊数据的方法(mongodb大于小于)
- MongoDB:怎样看待它?(mongodb怎么样)