mongodb更新操作 update

https://docs.mongodb.com/manual/tutorial/update-documents/index.html这个是mongdb的API献祭出来

在这里解释一下官网的三个更新操作作为笔记

db.inventory.updateOne(
   { item: "paper" },
   {
     $set: { "size.uom": "cm", status: "P" },
     $currentDate: { lastModified: true }
   }
)

这个是指一次更新一跳记录,item值符合的进行更新操作

db.inventory.updateMany(
   { "qty": { $lt: 50 } },
   {
     $set: { "size.uom": "in", status: "P" },
     $currentDate: { lastModified: true }
   }
)

这个是指一次性更新多条记录,{ "qty": { $lt: 50 } }指属性名为qty的值小与50的数据

mongodb条件操作符,"$lt", "$lte", "$gt", "$gte", "$ne"就是全部的比较操作符,
对应于"<", "<=", ">", ">=","!="。
原子操作符:"$and“, "$or“, "$nor“。
or查询有两种方式:一种是用$in来查询一个键的多个值,另一种是用$or来完成多个键值的任意给定值。
$in相当于SQL语句的in操作。
$nin不属于。
$not与正则表达式联合使用时候极其有用,用来查询哪些与特定模式不匹配的文档。
$slice相当于数组函数的切片,检索一个数组文档并获取数组的一部分。限制集合中大量元素节省带宽。
理论上可以通过 limit() 和 skip() 函数来实现,但是,对于数组就无能为力了。 $slice可以指定两个参数。
第一个参数表示要返回的元素总数。第二个参数是可选的。如果使用的话,第一个参数定义的是偏移量,
而第二个参数是限定的个 数。第二个参数还可以指定一个负数。
$mod取摸操作。
$size操作符允许对结果进行筛选,匹配指定的元素数的数组。
$exists操作符允许返回一个特定的对象。注意:当前版本$exists是无法使用索引的,因此,使用它需要全表扫描。
$type操作符允许基于BSON类型来匹配结果。
db.inventory.replaceOne(
   { item: "paper" },
   { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)

这个会把item 值相同的数据,自item属性之后的属性全部替换为instock属性

你可能感兴趣的:(数据库)