使用$unset
阶段可移除文档中的某些字段。从版本4.2开始支持。
语法
- 移除单个字段,可以直接指定要移除的字段名:
{
$unset: "<field>" }
- 移除多个字段,可以指定一个要移除字段名的数组:
{
$unset: [ "<field1>", "<field2>", ... ] }
用法
unset和unset和unset和project
对于移除字段,$unset
相当于是$project
的别名:
{
$project: {
"<field1>": 0, "<field2>": 0, ... } }
内嵌字段
要移除或排除内嵌文档的字段,可以使用点号:
{
$unset: "<field.nestedfield>" }
或:
{
$unset: [ "<field1.nestedfield>", ...] }
举例
使用下面的命令创建books
集合:
db.books.insertMany([
{
"_id" : 1,