首页/数据/NoSQL 速查/更新操作符 $set / $unset / $inc / $rename
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

更新操作符 $set / $unset / $inc / $rename

局部修改字段的四件套:$set 赋值或新增、$unset 删除字段、$inc 原子自增、$rename 重命名字段;比整文档替换更安全。

NoSQL 速查数据更新于 2026-10-12
$set设置或新增字段
$unset删除字段(值随意,常用空串)
$inc数值原子增减
$rename重命名字段(内部先删后加)

示例

示例
db.orders.updateOne({ _id: 1001 }, { $set: { status: "shipped" }, $inc: { qty: -1 } })
db.orders.updateOne({ _id: 1001 }, { $unset: { remark: "" }, $rename: { qty: "quantity" } })
同一次更新里对同一路径同时 $set 与 $unset 会触发 ConflictingUpdateOperators 报错。

易错点

  • $rename 不能作用于数组元素内的字段,对分片集合也有限制
  • $inc 只能用于数值类型,对字符串字段使用时直接报错

数据来源与参考

  • MongoDB Manual: Update Operators
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌