ER_BAD_FIELD_ERROR 在 sails.js 中使用基线

ER_BAD_FIELD_ERROR in sails.js using waterline

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

尝试在模型上使用 .find() 方法时出现错误:product2 (.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    |       |
+---------------+---------------+------+-----+---------+-------+

有什么问题吗?

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

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

autoCreatedAt: false,
autoUpdatedAt: false

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