Mongoose更新查询不能与node.js一起使用
首先我要通过以下方式在mongodb中input内容:
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" }
这些细节input正确,但当我尝试更新的东西,它没有反映任何变化。
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数据库中没有更改,它也会显示“成功”。
var Device = require('your device model file'); Device.model.findOneAndUpdate({ deviceId:"3236172417", },{$set:{modelname:"test}},function(err, user) { });
为了更新device
你不需要创build一个新的device
,使用var device=new Device();
你应该简单地更新,就像你试图find一个文档一样。
Device.update({deviceId:"3236172417"},{modelname:"test"} ,function(err) { if (err) { return console.error(err); } else{ res.write('successful'); res.end();