我有一些使用looback-connector postgresql从postgresql db生成的模型。这些模型的Id列是postgresql db的自动递增整数列。
1)我在其中一个持久模型上添加了一个远程方法,其中我执行简单更新或插入(upsert。
Car.CreateOrUpdateCar = function (carobj, req) {
Car.upsert(Carobj, function (err, Car) {
if (err)
console.log(err);
else {
req(err, Car);
}
});
};
2)在这个远程方法之后添加了一个远程钩子来执行。
Car.afterRemote('CreateOrUpdateCar', function (context, remoteMethodOutput, next) {
//Remaining code goes here
next();
});
3)我想在步骤(1)中提到的远程钩子中使用步骤(1)中新插入行的 Id
答案 0 :(得分:0)
我对postgresql db不太了解。但试试这个
var carObj;
Car.CreateOrUpdateCar = function (carobj, req) {
Car.upsert(Carobj, function (err, Car) {
if (err)
console.log(err);
else {
req(err, Car); // Your Car object contains final result after upserting along with Id
carObj = Car;
}
});
};
现在您可以使用carObj.id获取id,您可以随时随地使用它。我希望这有帮助
答案 1 :(得分:0)
您可以在远程钩子中访问生成的ID,如下所示:
Car.afterRemote('CreateOrUpdateCar', function (context, remoteMethodOutput, next) {
var genId = remoteMethodOutput.id || context.result.id;
next();
});