小编ver*_*isu的帖子

如何正确使用 knex.js 查询生成器及其 .first() 方法

我的 knex 遇到了一些麻烦。

我收到一条错误消息

Cannot chain .first() on "first" query
Run Code Online (Sandbox Code Playgroud)

目前,我的控制器使用以下代码调用存储库中的函数:

exports.findByEmail = async (email) => {
    return knex
        .where({email: email})
        .first();
}
Run Code Online (Sandbox Code Playgroud)

该代码第一次工作,获取正确的信息,但在连续调用时,会抛出上述错误。

我的 knex 已经用一张桌子实例化了。

我已经尝试过这种方法,将 then 链接到后面,但仍然得到相同的结果。https://github.com/knex/knex/issues/1355

exports.findByEmail = async (email) => {
    return knex
        .where({email: email})
        .first()
        .then(row => row);
}
Run Code Online (Sandbox Code Playgroud)

我是这样称呼它的:

let user = await CustomerRepo.findByEmail(req.body.email)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢

node.js express knex.js

1
推荐指数
1
解决办法
1397
查看次数

标签 统计

express ×1

knex.js ×1

node.js ×1