json - sequelize.query() 两次返回相同的结果

标签 json node.js npm sequelize.js

我正在使用 sequelize 连接 mysql 数据库的 nodejs 项目中工作。我也在使用 sequelize-values用于从 Sequelize 实例中获取原始数据。

我已经写了下面的代码

var Sequelize = require('sequelize');
require('sequelize-values')(Sequelize);
var sequelizeObj = new Sequelize('mysql://root:@localhost/database');

sequelizeObj.authenticate().then(function (errors) {
    console.log(errors)
});

sequelizeObj.query("SELECT * FROM `reports` WHERE `id` = 1200").then(function (result) {

    });

现在reports表只有1条记录id 1200,但是result给出了相同记录的两个对象,意味着两条记录都是与 id 1200 相同。

[ [ { id: 1200,
  productivity_id: 9969,
  gross_percentage_points: 100 } ],
[ { id: 1200,
  productivity_id: 9969,
  gross_percentage_points: 100 } ] ]

让我知道我做错了什么?

最佳答案

第一个对象是结果对象,第二个是元数据对象(包含受影响的行等)——但在 mysql 中,这两个是相等的。

传递 { type: Sequelize.QueryTypes.SELECT } 作为第二个参数会给你一个结果对象(元数据对象省略

https://github.com/sequelize/sequelize/wiki/Upgrading-to-2.0#changes-to-raw-query

关于json - sequelize.query() 两次返回相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33232147/

相关文章:

npm - socket.io 设置没有相同站点属性的跨站点 cookie

node.js - 如何安装新版本的 NPM ( 1.1.24 )?

javascript - Json字符串解析问题

database - 在 nodejs 应用程序中传递数据库连接

node.js - 使用 multer 何时完成图像上传?

mysql - Sequelize 验证错误被忽略

node.js - npm install --save-exact 不考虑确切的版本

java - 在 Jackson 中反序列化 JSON,其中键是值

javascript - JSON 用户搜索

c# - JSON.NET 不会反序列化为私有(private)属性