2014-12-03 65 views
1

Mongo newb。我试图删除基于密钥标签这是一个对象ID:更新Mongo数组:删除动态密钥

{ 
    "_id": ObjectId("53ccff9bbb25567911f208a8"), 

    "tags": { 
    "53ccff9bbb25567911f208a4": "tag1", 
    "53ccff9bbb25567911f208a5": "tag2", 
    "53ccff9bbb25567911f208a6": "tag3" 
    } 
} 

我想我知道如何把它从阵列中的JavaScript删除和更新文档,但我想这样做在查询中。

回答

1

您正在寻找$unset

collection.update(
    {"_id": ObjectId("53ccff9bbb25567911f208a8")}, 
    {"$unset": {"tags.53ccff9bbb25567911f208a6": ""}} 
) 

这将从tags删除"53ccff9bbb25567911f208a6": "tag3"条目。 { “$未设置”:{ “标签。” +标签: “”}}在http://docs.mongodb.org/manual/reference/operator/update/unset/#up._S_unset

+0

我在被添加的ObjectID问题

更多信息似乎并没有工作。 – Stephane 2014-12-03 17:32:14

+1

@Stephane请参见http://stackoverflow.com/questions/12393351/using-a-variable-in-mongodb-update/12393480#12393480 – JohnnyHK 2014-12-03 17:56:15

+0

@Stephane如果没有看到您的实际代码,我们无法为您提供帮助。 – 2014-12-03 18:51:47