- 概述
- 更新符
- 更新符
概述
更新符
更新符可以实现对字段的添加、修改、删除操作。支持的更新符如下:
更新符 | 描述 | 示例 |
---|---|---|
$inc | 增加指定字段的值 | db.foo.bar.update({ $inc: { age: 5, ID: 1 } }, { age: { $gt: 15 } }) |
$set | 将指定字段更新为指定的值 | db.foo.bar.update({ $set: { str: "abd" } }) |
$unset | 删除指定的字段 | db.foo.bar.update({ $unset: { name: "", age: "" } }) |
$addtoset | 向数组中添加元素和值 | db.foo.bar.update({ $addtoset: { arr: [1,3,5] } }, { arr: { $exists: 1 } }) |
$pop | 删除指定数组中的最后N个元素 | db.foo.bar.update({ $pop: { arr: 2 } }) |
$pull$pull_by | 清除指定数组中的指定值 | db.foo.bar.update({ $pull: {arr: 2, name: "Tom" } })db.foo.bar.update({ $pull_by: {arr: 2, name: "Tom" } }) |
$pull_all$pull_all_by | 清除指定数组中的指定值 | db.foo.bar.update({ $pull_all: { arr: [2,3], name: ["Tom"] } })db.foo.bar.update({ $pull_all_by: { arr: [2,3], name: ["Tom"] } }) |
$push | 将给定值插入到数组中 | db.foo.bar.update({ $push: { arr: 1 } }) |
$push_all | 向指定数组中插入所有给定值 | db.foo.bar.update({ $push_all: { arr: [1,2,8,9] } }) |
$replace | 将文档全部替换 | db.foo.bar.update({ $replace: { age: 0, name: 'default' } }, { age: { $exists: 0 } }) |