$unset(删除字段)

最后更新:2026-10-09

$unset(删除字段)

$unset 从文档中删除指定字段。`{ $unset: { age: '' } }`,值可为任意占位(通常写空字符串)。嵌套字段用点路径删除。字段不存在时静默忽略。注意:在数组元素中 $unset 不是删除元素而是把值置为 null(删除数组元素用 $pull)。

分类更新字段
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $unset: { <字段>: '' } }

⚙️ 参数

字段要删除的字段名,支持点路径。
占位值任意占位符,通常为空字符串。

返回值:更新结果文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $unset:删除 age 字段
db.users.updateOne(
  { _id: 1 },
  { $unset: { age: '' } }
)

// 删除嵌套字段
db.users.updateOne(
  { _id: 1 },
  { $unset: { 'address.city': '' } }
)

运行结果:

// 文档中 age 与 address.city 字段被删除

📌 注意事项

📚 相关教程

❓ 常见问题

Q$unset 删除数组元素吗?
A不删除。数组内 $unset 把对应位置置为 null;删除元素用 $pull。
Q$unset 值为什么要写?
A值只是占位符,常用空字符串,任何值效果相同。
Q$unset 能删嵌套字段吗?
A能,用点路径。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏