推荐答案
$unset
操作符用于从文档中删除指定的字段。如果字段不存在,$unset
不会执行任何操作。
本题详细解读
语法
{ $unset: { <field1>: "", <field2>: "", ... } }
作用
$unset
操作符用于删除文档中的指定字段。- 如果文档中不存在指定的字段,
$unset
不会执行任何操作,也不会报错。
示例
假设有一个集合 users
,其中包含以下文档:
{ "_id": 1, "name": "Alice", "age": 25, "email": "alice@example.com" } { "_id": 2, "name": "Bob", "age": 30 }
使用 $unset
删除 email
字段:
db.users.updateMany({}, { $unset: { email: "" } })
执行后,集合中的文档将变为:
{ "_id": 1, "name": "Alice", "age": 25 } { "_id": 2, "name": "Bob", "age": 30 }
注意事项
$unset
操作符不会删除整个文档,只会删除指定的字段。- 如果字段不存在,
$unset
不会执行任何操作,也不会报错。 $unset
操作符可以同时删除多个字段,只需在$unset
对象中指定多个字段即可。