node.js - 试图将 sequelize 查询的结果传递给 pug

标签 node.js pug sequelize.js

我正在尝试将 sequelize 查询的搜索结果传递给 pug,但它不起作用

res.render('search',{
    stack_holder:find_stack_holder(),
});
function find_stack_holder(){
    return db.poregister.findAll({
        attributes: [[Sequelize.fn('DISTINCT', Sequelize.col('stack_holder')), 'stack_holder']],
    })
}

然而,pug 得到了 promise 而不是实际数据。当需要实际数据时, promise 不应该自行解决吗?

最佳答案

findAll 返回 Promise ,因此,您需要执行以下操作:

const findAllPromise = find_stack_holder();

findAllPromise.then(function(result) {
    res.render('search',{
        stack_holder: result,
    });
});

function find_stack_holder() {
    return db.poregister.findAll({
        attributes: [[Sequelize.fn('DISTINCT', Sequelize.col('stack_holder')), 'stack_holder']],
    });
}

关于node.js - 试图将 sequelize 查询的结果传递给 pug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48316695/

相关文章:

javascript - 服务器在静态网站上渲染 React js

javascript - node.js - 发送一个整数作为 POST 请求中的输入参数

javascript - 使用 Nodejs 服务器和 Pug 如何一次显示列表中的元素并使用按钮进行迭代?

mysql - 在 Eager Loading 中计算 AVG 时,Sequelize 返回一个结果

javascript - 如何将嵌套 JSON 对象的所有键值移动到 Node.js 中的父级

javascript - 在 Node JS 中将值从一个对象更新到另一个对象

javascript - 如何从 Node js 与 shell 脚本通信

javascript - express 和 Jade : getting a variable into JavaScript

postgresql - Sequelize : joining table on a subquery

node.js - 使用事务时的 Sequelize 回调