2014-05-12 15 views
0

嘗試了差不多2個小時後,我張貼了這個問題無法在MongoDB中的記錄進行更新

$.ajax({ 
type: "POST" , 
url: "http://127.0.0.1:28017/test/stocks/?q={symbol:"+symbol+"}", 
contentType: "application/json; charset=utf-8", 
data: JSON.stringify({ "$set" : { 'tbq' : "3" } }), 
dataType: "json" 
}); 

內MongoDB的樣本

{ 
     "_id" : ObjectId("537148b99aae10a52d6b5dbe"), 
     "symbol" : "KIYT", 
     "tbq" : "566" 

} 

有誰請電話我爲什麼更新ISN」工作?

我以下鏈接http://docs.mongolab.com/restapi/#update-documents

回答

0

你需要做一個PUT而不是一個POST,因爲POST將嘗試一個新的項目添加到蒙戈。您還需要提供您嘗試更新的項目的_id。例如;

$.ajax({ 
    type: "PUT" , 
    url: 'http://127.0.0.1:28017/test/stocks/?q={"_id":537148b99aae10a52d6b5dbe}', 
    contentType: "application/json", 
    data: JSON.stringify({ "$set" : { 'tbq' : "3" } }), 
    dataType: "json" 
}); 
+0

感謝您的回答,但仍然無法正常更新。 – Pawan

+0

如果我使用PUT而不是POST,我進入我的mongodb控制檯[websvr]不知道如何處理[PUT] – Pawan

+1

道歉我沒有意識到你正在嘗試在本地安裝上執行此操作(我應該有看URL!)mongolabs的REST API允許插入和更新,但是mongod的API不。請參閱http://docs.mongodb.org/manual/core/security-interface/#rest-api – mattdavis90