在loopback中通过id更新启动脚本中的模型值?

我在我的一个服务器启动脚本中使用这个代码 –

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 。 此外,您不应该使用非查询方法的完整filter语法,并且需要包含一个callback方法。 从文档 :

当您为查询以外的方法调用节点API时,请不要将where子句包含在{ where : ... }对象中。

所以你的例子应该是:

 app.get('/test',function(req,res){ //console.log(server.model); server.models.Company.updateAll({ id: 1 }, { name: 's12' }, function(err, info) { ... }); });