使用事务时,Loopback accessToken为null

时间:2016-02-15 12:14:55

标签: node.js loopbackjs

我在Loopback应用程序中看到一个奇怪的行为。我将尝试在下面描述它。

我有一个BaseModel,我的所有模型都继承了它的'access'和'beforeSave'上的操作挂钩,以便出于多租户的原因填充列。它需要访问当前用户,我按如下方式获取它:

COUNT

然后,我的一个模型需要在第二个模型中插入记录。 Model1和Model2具有一对一的关系。我为它添加了一个远程方法,我在事务中执行如下操作:

var httpContext = require('loopback').getCurrentContext();
var accessToken = httpContext.get('accessToken');
const userId = accessToken && accessToken.userId;

由于未定义accessToken,因此在运行Model2.create步骤时挂钩失败。

如果我从模型调用中删除{transaction:transaction},则会成功创建两个记录,但不会按预期使用数据库事务。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

尝试在环回中使用事务,但没有成功,因为来自环回端的不完整或非描述性文档。

最好使用http://knexjs.org/来构建查询以及事务。

这是一个相同的参考链接。 How To Implement ACID Transactions in Loopback http://knexjs.org/#Transactions