• $unset
    • 语法
    • 描述
    • 示例

    $unset

    语法

    1. { $unset: { <字段名1>: "", <字段名2>: "", ... } }

    描述

    $unset操作是删除集合中指定的字段名。如果记录中没有指定的字段名,跳过。

    示例

    • 删除集合bar下记录的name字段和age字段,如果记录中没有字段name或age,跳过,不做任何处理
    1. > db.foo.bar.update({ $unset: { name: "", age: "" } })
    • $unset删除数组对象中的元素。如有一条记录:
    1. { arr: [1,2,3], name: "Tom" }

    使用$unset删除第二个元素操作如下:

    1. > db.foo.bar.update({ $unset: { "arr.2": "" } })

    此操作后,记录更新为

    1. { arr: [1,null,3], name: "Tom" }
    • $unset删除嵌套对象中的字段。如有一条记录:
    1. { content: { ID: 1, type: "system", position: "manager" }, name: "Tom" }

    content是一个嵌套对象,它有ID,type,position三个字段。使用$unset删除 type 字段操作如下:

    1. > db.foo.bar.update({ $unset: { "content.type": "" } })

    此操作后,记录更新为

    1. { content: { ID: 1, position: "manager" }, name: "Tom" }