- $unset
- 语法
- 描述
- 示例
$unset
语法
- { $unset: { <字段名1>: "", <字段名2>: "", ... } }
描述
$unset操作是删除集合中指定的字段名。如果记录中没有指定的字段名,跳过。
示例
- 删除集合bar下记录的name字段和age字段,如果记录中没有字段name或age,跳过,不做任何处理
- > db.foo.bar.update({ $unset: { name: "", age: "" } })
- $unset删除数组对象中的元素。如有一条记录:
- { arr: [1,2,3], name: "Tom" }
使用$unset删除第二个元素操作如下:
- > db.foo.bar.update({ $unset: { "arr.2": "" } })
此操作后,记录更新为
- { arr: [1,null,3], name: "Tom" }
- $unset删除嵌套对象中的字段。如有一条记录:
- { content: { ID: 1, type: "system", position: "manager" }, name: "Tom" }
content是一个嵌套对象,它有ID,type,position三个字段。使用$unset删除 type 字段操作如下:
- > db.foo.bar.update({ $unset: { "content.type": "" } })
此操作后,记录更新为
- { content: { ID: 1, position: "manager" }, name: "Tom" }