我是Mongodb的新手,所以下面的代码我试图更新文档字段string
我现在基于req.body
在帖子_id
中收到了对象,我想更新string
字段,但是它不使用以下实现来更新记录。如何使用_id
更新记录?任何更好的异步更新记录的方法将不胜感激。
routes.js
var Diagram = require('./diagram');
router.post('/saveUpdateDiagram',function(req,res){
console.log(req.body._id);
Diagram.update(req.body);
});
diagram.js
var diagram = require('./diagram.model');
var mongoose = require('mongoose');
var Diagram = {
index: function(callback) {
diagram.find({}, function(err, result) {
if (!err) {
callback(result);
}
});
},
update: function(data) {
console.log('data in controller', data);
Diagram.update({ $set: { 'string' : data.string } });
}
}
module.exports = Diagram;
data.json
{
_id: "57fe42efc3590c7686bad563"
groups: Array[0]
owner: "sh587"
string: "test string should be updated"
text: "gcs_wf_dit.bpmn"
users: Array[1]
}
最佳答案
我们知道JavaScript是区分大小写的语言,您应该使用diagram.update
而不是Diagram.update
使用`diagram.update({$ set:{'string':data.string}});
diagram.js应该是
diagram.js
var diagram = require('./diagram.model');
var mongoose = require('mongoose');
var Diagram = {
index: function(callback) {
diagram.find({}, function(err, result) {
if (!err) {
callback(result);
}
});
},
update: function(data) {
console.log('data in controller', data);
diagram.update({_id: data._id}, { $set: { 'string' : data.string } });
}
}
module.exports = Diagram;