2012-09-20 83 views

回答

0

假設下面是你的文件,你要刪除的文件:如果要提取的文件

db.test.remove({"CONTENT1.YDXM.name" : "1", "CONTENT1.YDXM.MBNH" : "1"}) 

現在:

{ 
    "CONTENT1": { 
     "YDXM": [ 
      { 
       "name": "1", 
       "MBNH": "1" 
      }, 
      { 
       "name": "2", 
       "MBNH": "2" 
      } 
     ] 
    } 
} 

您可以使用此{"name" : "1", "MBNH" : "1"} from CONTENT1.YDXM array,你應該使用$ pull操作符:

db.test.update({"CONTENT1.YDXM.name" : "1", "CONTENT1.YDXM.MBNH" : "1"}, { $pull : { "CONTENT1.YDXM" : {"name" : "1", "MBNH" : "1"} } }, false, true) 

這將執行更新全部與第一個參數匹配的文檔。第二個參數,帶有$ pull操作符,意味着mongodb將從CONTENT1.YDXM數組中刪除值{"name" : "1", "MBNH" : "1"}

你可以在這個鏈接瞭解更多關於$拉動運營商和更新命令: http://docs.mongodb.org/manual/reference/operator/pull/ http://docs.mongodb.org/manual/applications/update/