node.js - 从没有元信息的查询中获取结果集 Sequelize

标签 node.js sequelize.js

我是 Node.js/Sequelize.js 的新手。我有以下查询代码:

var agent_list =  models.agent.findAll({
                                      subQuery: false,
                                      where:   qry_filter,
                                      attributes: select_attributes,
                                      include:include_models,
                                      group: ['agent_id'],
                                      order: agent_data.sort || appConfig.DEFAULT_AGENT_SORT,
                                      limit: agent_data.num_results || appConfig.DEFAULT_RESPONSE_SIZE

                                    })

                                   .then(function(agent_list){

                                      console.log(agent_list);

                                   });

语句“console.log(agent_list)”打印从数据库中检索到的数据以及元信息,如 options:{...} 、modelOptions: {...} 等。dataValues 对象包含我想要的数据。结果集是嵌套的 js 对象,每个对象都具有相同的结构,因此很难遍历结果集并仅获取数据值。

我有使用 PHP 的经验 $db -> Execute("$qry") 将返回带有元数据的结果集并获取行 $db -> Execute("$qry")->getRows() 可以使用。如何在 Sequelize 中实现这一目标?

最佳答案

有一个名为 sequelize-values 的 npm 包你可以使用它。

所以在你的情况下,你的代码将是

models.agent.findAll({
    subQuery: false,
    where: qry_filter,
    attributes: select_attributes,
    include: include_models,
    group: ['agent_id'],
    order: agent_data.sort || appConfig.DEFAULT_AGENT_SORT,
    limit: agent_data.num_results || appConfig.DEFAULT_RESPONSE_SIZE
}).then(function(agent_list) {
    return agent_list.map(function(agent) {
        return agent.getValues();
    });
}).then(function(agent_list) {
    console.log(agent_list);
});

关于node.js - 从没有元信息的查询中获取结果集 Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37136986/

相关文章:

javascript - 如果你用 express js 重载同一条路线会发生什么?

javascript - 在 Node.js 中监听所有发出的事件

node.js - Sequelize 中的多个 $or 或 $and 查询

mysql - 如何使用expressjs获取表格行复选框选定的数据以发布路线?

node.js - 在本地开发中使用时,package.json 文件是否需要每个站点的唯一名称?

javascript - Nestjs - 创建 DTO 文件以转换嵌套 json 对象的正确方法是什么?

node.js - 如何在 Sequelize 中使用迁移?

sequelize.js - Sequelize 属于ToMany 关系不起作用

mysql - 我可以在同一个表的同一个 api 中使用多个 findAll() 来获取数据吗?

node.js - Memcache v/s redis 用于维护持久 session ?