通过环回中的 id 更新引导脚本中的模型值?
Update model value in boot script by id in loopback?
我在我的一个服务器启动脚本中使用此代码-
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 的名称。
请帮我解决这个问题。
Jerome WAGNER 说没有 update
方法是正确的 - 它是 updateAll
。此外,您不应该对非查询方法使用完整的过滤器语法,您需要包含一个回调方法。 From the docs:
When you call the Node APIs for methods other than queries, don't wrap
the where clause in a { where : ... }
object...
所以你的例子应该是:
app.get('/test',function(req,res){
//console.log(server.model);
server.models.Company.updateAll({ id: 1 }, { name: 's12' }, function(err, info) {
...
});
});
我在我的一个服务器启动脚本中使用此代码-
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 的名称。
请帮我解决这个问题。
Jerome WAGNER 说没有 update
方法是正确的 - 它是 updateAll
。此外,您不应该对非查询方法使用完整的过滤器语法,您需要包含一个回调方法。 From the docs:
When you call the Node APIs for methods other than queries, don't wrap the where clause in a
{ where : ... }
object...
所以你的例子应该是:
app.get('/test',function(req,res){
//console.log(server.model);
server.models.Company.updateAll({ id: 1 }, { name: 's12' }, function(err, info) {
...
});
});