我在我的一个服务器启动脚本中使用此代码 -
var server = require('../server');
var ds = server.dataSources.mysql;
var express = require('express');
var request = require('request');
var router = express.Router();
module.exports = function(app) {
app.get('/test',function(req,res){
//console.log(server.model);
server.models.Company.update({
filter: {
where: {
id: 1
},
},
},
name: 's12'
});
});
};
问题是它更新了数据库中的所有行。我该如何创建这个函数,以便更新id为1的名称。
请帮助我。
答案 0 :(得分:4)
杰罗姆·瓦格纳说他没有update
方法时是正确的 - 它是updateAll
。此外,您不应对非查询方法使用完整过滤器语法,并且需要包含回调方法。 From the docs:
当您为查询以外的方法调用Node API时,请不要换行
{ where : ... }
对象中的where子句......
所以你的例子应该是:
app.get('/test',function(req,res){
//console.log(server.model);
server.models.Company.updateAll({ id: 1 }, { name: 's12' }, function(err, info) {
...
});
});