2016-08-25 46 views
1

首先我通過在MongoDB中的條目工作貓鼬更新查詢不node.js的

// Dependencies 
var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

// Schema Definition 
var deviceSchema=new Schema ({ 
    "deviceId":{ type : String , unique: true}, 
    "version":{ type : String }, 
    "manufacturer":{ type : String }, 
    "modelname":{ type : String }, 


}); 

// Model 
module.exports = mongoose.model('de', deviceSchema); 

這是inputDetailsJson:

{ 
      "deviceId":"3236172417", 
      "version":"5.2.3", 
      "manufacturer":"abc", 
      "modelname":"example" 
} 

這些細節正在輸入正確,但當我嘗試更新的東西,它沒有反映出任何變化。

var device=new Device(); 
device.update({deviceId:"3236172417"},{modelname:"test"} 
,function(err) { 
if (err) { 
      return console.error(err); 
     } 
else{ 
res.write('successful'); 
res.end(); 

即使在mongodb數據庫中沒有更改,它也會顯示'成功'。

回答

2
var Device = require('your device model file'); 
Device.model.findOneAndUpdate({ 
     deviceId:"3236172417", 
},{$set:{modelname:"test}},function(err, user) { 

}); 
+0

類型錯誤:Device.findOneAndUpdate不是一個函數 – chandan7

+1

知道了,太感謝你了 – chandan7

+0

upvoted,但我有較少的聲譽,因此不會被公開展示 – chandan7

0

對於更新device當你試圖找到一個文件,你並不需要創建一個新的device,使用var device=new Device();

你應該簡單地更新,一樣的。

Device.update({deviceId:"3236172417"},{modelname:"test"} 
,function(err) { 
if (err) { 
      return console.error(err); 
     } 
else{ 
res.write('successful'); 
res.end();