3 MongoDB update

2021/11/4 2:10:04

本文主要是介绍3 MongoDB update,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  更新又三个方法:
  • db.collection.updateOne(<filter>, <update>, <options>)
  • db.collection.updateMany(<filter>, <update>, <options>)
  • db.collection.replaceOne(<filter>, <update>, <options>)
  mongodb提供了很多操作符用于修改制定的字段,比如"$set"。 结构如下: { <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }   一些更新操作符,如$set,将在字段不存在的情况下创建字段。有关详细信息,请参阅个别更新操作符参考。   更新单个文档 下面的示例在库存集合上使用db.collection.updateOne()方法来更新第一个文档,其中item等于“paper” db.inventory.updateOne( { item: "paper" }, { $set: { "size.uom": "cm", status: "P" }, $currentDate: { lastModified: true } } ) 使用$set操作符更新size.uom和status的值。 使用$currentDate操作符将lastModified字段的值更新为当前日期。如果lastModified字段不存在,$currentDate将创建该字段。详情请参见$currentDate。   更新多个文档 db.inventory.updateMany( { "qty": { $lt: 50 } }, { $set: { "size.uom": "in", status: "P" }, $currentDate: { lastModified: true } } ) 类似更新单个文档,只是匹配条件不同   注意: 1.MongoDB中的所有写入操作都是在单个文档的级别的原子。有关MongoDB和Atomicity的更多信息,请参阅原子性和事务。 2._id不允许修改。一旦设置,您就不能更新id字段的值,也不能用具有不同id字段值的替换文档替换现有文档。 3.对于写操作,MongoDB保留文档字段的顺序,以下情况除外: 3.1.id字段总是文档中的第一个字段。 3.2.包括重命名字段名的更新可能会导致文档中字段的重新排序。 4.对于写入安全,您可以指定MongoDB以进行写入操作所请求的确认级别。有关详细信息,请参阅写安全。     MongoDB提供了以下方法来更新集合中的文档:
db.collection.updateOne() 即使多个文档可能匹配指定的筛选器,但最多只更新一个匹配指定筛选器的文档。
db.collection.updateMany() 更新与指定筛选器匹配的所有文档。
db.collection.replaceOne() 即使多个文档可能匹配指定的筛选器,但最多只替换匹配指定筛选器的单个文档。
db.collection.update() 更新或替换与指定筛选器匹配的单个文档,或更新与指定筛选器匹配的所有文档。默认情况下,db.collection.update()方法更新单个文档。要更新多个文档,请使用multi选项。
  以下方法也可以更新集合中的文档:
  • db.collection.findOneAndReplace().
  • db.collection.findOneAndUpdate().
  • db.collection.findAndModify().
  • db.collection.save().
  • db.collection.bulkWrite().



这篇关于3 MongoDB update的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程