mongodb原子操作

mongodb原子操作
 最后更新于 2024年10月02日 22:58:57

$unset,删除字段名

{multi:true}:查询到的所有记录都删除。

db.collection_name.update(filter,{"$unset":{"需要删除的字段名":1}},{multi:true})

$rename,更新字段名

db.collection_name.update(filter, {$rename : {"原字段名": "target_field"}},{"multi":1});

$inc,更新数字+1

db.cart.update(filter, {$inc: {"需要更新的字段名": 1}})

// 更新 product.count 的值
db.cart.update(filter, {$inc: {"product.$.count": 1}})

$set,更新到指定的数字

db.cart.update(filter, {$set: {"需要更新的字段名": 2}})

// 指定 product.count 的值
db.cart.update(filter, {$set: {"product.$.count": 2}})

$push,添加数据

db.cart.update(filter,
  {
    $push: {
      "product": {
        "pid": ObjectId,
        "count": count
      }
    }
  }
)

$pull操作,删除一条数据

db.cart.update(filter, {$pull: {"product": {"pid": ObjectId}}})

删除多条数据

  • $in 单条匹配(或操作)
  • $all 完全匹配(与操作)
db.cart.update(filter, {
  $pull: {
    "product": {
      "pid": {
        $in: [
          ObjectId("5760eb8ef9df4cdc19420712"),
          ObjectId("57625ac6b9b1f5a01026624c")
        ]
      }
    }
  }
})