2014-12-03 101 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