2015-08-14 118 views
2

我一直在從MongoDB文檔中的數組中刪除一個字符串的問題的麻煩。例如,我想從下面的文檔的列表字段中刪除條目「四」。如何從mongodb文檔中的數組中刪除字符串?

{ 
    "list" : [ "1", "2", "four", "five", "6"] 
} 

我知道這似乎很簡單,但我一直無法從文檔或以前的問題找到直接的答案。我已經嘗試了5個左右的命令,無法使用db.collection.update與$ pull和$ mod修飾符結合使用。任何幫助?

我知道,非常基本的問題。

+0

我覺得你的問題是重複的 - >看http://stackoverflow.com/questions/10146735/deleting-a-key-value-from-existing-mongodb-entry – B4NZ41

+0

嘗試'pull'像這樣'update({},{「$ pull」:{「list」:「four」}})' – Yogesh

+0

[Removing specific i從數組與MongoDB的](http://stackoverflow.com/questions/9048424/removing-specific-items-from-array-with-mongodb) –

回答

3

您可以使用$Pull操作,請嘗試以下查詢:

db.collection.update(
         { _id : id }, 
         { $pull: 
          { "list":"four" } 
         } 
        ); 

如果你想刪除從ARRY「列表」兩個或兩個以上的元素,你可以做到這一點,以及以$拉出操作員好:

db.collection.update({ _id : id }, 
         { $pull: 
           { list : 
             { $in : [ "one", "four" ] } 
           } 
         } 
        ); 
+0

謝謝你做到了,我很驚訝,我沒有想到這一點。 –

相關問題