2014-05-22 105 views
2

嗨,以下是我在mongodb中的文檔,現在我想刪除數據 Kumar []在給定的文檔中,我已經使用(更新彈出)和刪除函數。一個被刪除內部數據,另一個是刪除全部文件的任何幫助是在文件如何在mongodb中刪除文檔中的特定數據

{ 
     "_id" : ObjectId("537d98c2a8357030c4f46cc0"), 
     "name" : "karan", 
     "address" : "hyd", 
     "hobbies" : [ 
      "listeningmusic", 
      "chess" 
     ], 
     "friends" : [ 
      { 
       "satish" : "school" 
      }, 
      { 
       "naresh" : "college" 
      }, 
      { 
       "dileep" : "school" 
      }, 
      { 
       "pavan" : "neighbour" 
      }, 
      { 
       "kumar" : "office" 
      } 
     ], 
     "kumar" : [] 
    } 

我曾嘗試以下查詢

db.userdata.update({kumar:"office"},{$pull:{kumar:"office"}}) 

db.userdata.remove({kumar:"office"},1) 
+0

等待您是否要刪除數組或刪除數組中的數據? – Sammaye

+0

如果不確定,您應該始終檢查您的查詢是否與任何文檔匹配。 'db.userdata.find({kumar:「office」})'實際上什麼都沒有返回,所以部分更新不會發生。 @尼爾倫恩的回答對於其他一切都是正確的。 –

回答

3

使用$unset刪除所需的數據讚賞與$exists組合在查詢範圍內以匹配文檔與錯誤的字段:

db.userdata.update({ "kumar": { "$exists": 1 },{ "$unset": { "kumar": "" } }) 

這將刪除您在文檔中顯示的空數組。

相關問題