在mongo documentation取消设置字段已完成$unset
。我不太清楚它是如何工作的,但它似乎应该很简单。
The following operation uses the $unset operator to remove the tags field:
db.books.update( { _id: 1 }, { $unset: { tags: 1 } } )
在设置要取消设置的内容时会出现混乱。 1
子句中的值$unset
是多少?
答案 0 :(得分:6)
根据$unset
documentation: -
$ unset运算符删除特定字段。
语法:
{ $unset: { <field1>: "", ... } }
$ unset表达式中的指定值(即“”)不会影响操作。
如果该字段不存在,则$ unset不执行任何操作(即无操作)。
所以你可以使用
db.books.update( { _id: 1 }, { $unset: { tags: 1 } } )
OR
db.books.update( { _id: 1 }, { $unset: { tags: 0 } } )
OR
db.books.update( { _id: 1 }, { $unset: { tags: "" } } )
以上所有查询都会删除tags
字段。
希望你现在明白我的疑问。
答案 1 :(得分:3)
{$unset : { tags : 1 } }
将清除文档中的字段tags
。值1
只是告诉您,从文档中清除此字段tags
。
如果要清除多个字段,则需要编写{$unset : { tags : 1, randomField : 1} }
之类的内容。
您可以参考$ unset的official documentation获取更多信息。
根据文件:
$ unset运算符删除特定字段。考虑一下 语法如下:
{$ unset:{field1:“”,...}}
$ unset中的指定值 表达式(即“”)不会影响操作。
如果该字段不存在,那么$ unset什么都不做(即没有 操作)。
当与$一起使用以匹配数组元素时,$ unset将替换 匹配元素为null而不是删除匹配元素 来自阵列。
答案 2 :(得分:0)
$ unset运算符删除特定字段。