推荐答案
$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对象中指定多个字段即可。