使用水线的sails.js中的ER_BAD_FIELD_ERROR

时间:2015-03-14 12:10:01

标签: javascript sails.js waterline

我知道有类似的问题,但他们无法帮助我。

我尝试在model:product2上使用.find()方法时遇到错误 (.query()方法正在运行)

我试图找出如何从数据库中获得更详细的输出,但是失败了。

{
"error": "E_UNKNOWN",
"status": 500,
"summary": "Encountered an unexpected error",
  "raw": {
  "code": "ER_BAD_FIELD_ERROR",
  "errno": 1054,
  "sqlState": "42S22",
  "index": 0
}
}%

我的模型" Product2.js"

  module.exports = {

  connection:'someMysqlServer',
  migration:'safe',
  tableName:'NUTR_DATA',
  attributes:{
    id:{
      columnName:'Nutr_No',
      primaryKey:true,
      type:'string'


    }


  }
};

routes.js

module.exports.routes{
'GET /select':'Product2Controller.select'

};

Product2Controller.js

module.exports = {
  select:function(req,res){
        Product2.find({limit:10}).exec(function(err, results) {
            if (err){res.serverError(err)}
            else{res.json(results)};
        });
    }
};

数据库架构

+---------------+---------------+------+-----+---------+-------+
| Field         | Type          | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| NDB_No        | varchar(5)    | NO   | PRI | NULL    |       |
| Nutr_No       | varchar(3)    | NO   | PRI | NULL    |       |
| Nutr_Val      | decimal(13,3) | NO   |     | NULL    |       |
| Num_Data_Ptr  | decimal(10,0) | NO   |     | NULL    |       |
| Std_Error     | decimal(11,3) | YES  |     | NULL    |       |
| Src_Cd        | varchar(2)    | NO   |     | NULL    |       |
| Deriv_cd      | varchar(4)    | YES  |     | NULL    |       |
| Ref_NDB_No    | varchar(5)    | YES  |     | NULL    |       |
| Add_Nutr_Mark | varchar(1)    | YES  |     | NULL    |       |
| Num_Studies   | int(11)       | YES  |     | NULL    |       |
| Min           | decimal(13,3) | YES  |     | NULL    |       |
| Max           | decimal(13,3) | YES  |     | NULL    |       |
| DF            | int(11)       | YES  |     | NULL    |       |
| Low_EB        | decimal(13,3) | YES  |     | NULL    |       |
| Up_EB         | decimal(13,3) | YES  |     | NULL    |       |
| Stat_cmd      | varchar(10)   | YES  |     | NULL    |       |
| AddMod_Date   | varchar(10)   | YES  |     | NULL    |       |
| CC            | varchar(1)    | YES  |     | NULL    |       |
+---------------+---------------+------+-----+---------+-------+

关于出了什么问题的任何想法?

2 个答案:

答案 0 :(得分:2)

感谢您的回复。问题没有设定

autoCreatedAt: false,
autoUpdatedAt: false

我没有看到我的ide实际上给了我更详细的输出然后卷曲。也许如果将错误放在船的平静图片和关于提升服务器的信息下会更好:P

答案 1 :(得分:0)

可能的问题是您正在定义自己的主键字段,但Waterline仍在自动添加自己的id字段。您可以通过将autoPK: false添加到模型配置来关闭此行为。 autoPK的文档为here