如何从文档中删除字段

Seb*_*ian 6 mongodb meteor

数据库架构:

{
    _id: "kun2",
    result150160: [10,20,30];
    moon: 4
}
Run Code Online (Sandbox Code Playgroud)

我想用一个变量删除客户端的整个字段result150160:

var deleteresult = "result150160"
Box.update( {_id: this._id} , {$unset: { deleteresult } } );
Run Code Online (Sandbox Code Playgroud)

Lix*_*Lix 13

正确的语法是这样的:

Box.update( {_id: this._id} , {$unset: { deleteresult : "" } } );
Run Code Online (Sandbox Code Playgroud)

您必须为操作指定一个值$unset:{ deleteresult : "" }.即使它是空的.

查看相关文档:

db.collection.update( { field: value1 }, { $unset: { field1: "" } } );
上面的示例从字段值为value1的文档中删除集合中的field1.$ unset语句中的字段值(即上面的"")不会影响操作.


Aks*_*hat 1

你可以这样做:

var deleteresult = {};
deleteresult["result150160"] = true
Box.update( {_id: this._id} , {$unset: deleteresult } );
Run Code Online (Sandbox Code Playgroud)

基本上你必须使用一个键值对,不管你用什么true,只要有东西就行。