2016-08-25 9 views
1

まずで作業していない:マングースの更新クエリは、私はMongoDBの中のエントリを作っていますNode.jsの

var device = new Device(inputDetailsJson); //device model instance 

device.save(function(err) { 
          if (err) { 
           res.send(err); 
          } else { 
           res.write('Successful'); 
           res.end(); 
          } 

         }); 

これは、デバイスのモデルです:

// 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データベースに変更が加えられていない場合でも、「成功」と表示されます。 deviceあなたは単に、あなたがドキュメントを検索しようとして、同じ更新する必要がありますvar device=new Device();

を使用して、新しいdeviceを作成する必要はありませんを更新するための

答えて

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

}); 
+0

例外TypeError:Device.findOneAndUpdateはそんなに – chandan7

+1

はそれを得た機能ではありませんが、それは公に表示することが文句を言わないので、私はあまり評判を持っています – chandan7

+0

がupvotedありがとう、 – chandan7

0

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