Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json query()返回相同的结果两次_Json_Node.js_Npm_Sequelize.js - Fatal编程技术网

Json query()返回相同的结果两次

Json query()返回相同的结果两次,json,node.js,npm,sequelize.js,Json,Node.js,Npm,Sequelize.js,我在nodejs项目中工作,使用sequelize连接mysql数据库。我还使用从Sequelize实例获取原始数据 我已经写了下面的代码 var Sequelize = require('sequelize'); require('sequelize-values')(Sequelize); var sequelizeObj = new Sequelize('mysql://root:@localhost/database'); sequelizeObj.authenticate().the

我在nodejs项目中工作,使用
sequelize
连接mysql数据库。我还使用从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) {

    });
现在,对于
id
1200,表
reports
只有一条记录,但是
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}
作为第二个参数传递将为您提供一个单一的结果对象(省略元数据对象)

试试:

sequelizeObj.query("SELECT * FROM `reports` WHERE `id` = 1200", { type: Sequelize.QueryTypes.SELECT }).then(function (result) {
    });

添加
{type:Sequelize.QueryTypes.SELECT}
作为第二个参数,还记得首先导入Sequelize。

已解决

sequelize.query("SELECT ...", { type: Sequelize.SELECT })
.then(result => {
    if (!result ) {
        res.status(404).send({ message: "Data Not found." });
    }

    res.status(200).send(result[0]);

})
.catch(err => {
    res.status(500).send({ message: err.message });
});

const{QueryTypes}=require('sequelize');var queryString=“从用户选择id”;const userList=wait sequelize.query(queryString,{type:QueryTypes.SELECT});