【问题标题】:Node Express + Sequelize findAll return SequelizeDatabaseError on empty databaseNode Express + Sequelize findAll 在空数据库上返回 SequelizeDatabaseError
【发布时间】:2019-10-02 16:46:59
【问题描述】:

我正在尝试检索订单 (SQLite) 的简单列表(暂时没有 where 子句)。 我正确配置了 Node Express 服务器、路由器和模型。我的收藏仍然是空的。 当我尝试路线时

router.get('/orders', (req, res) => {
Order.findAll({order: [['updateAt', 'DESC']]})
 .then(orders => {
  res.send(orders);
 })
 .catch(error => {
  res.send({error: error});
 });
});

回应是

{
"error": {
    "name": "SequelizeDatabaseError",
    "parent": {
        "errno": 1,
        "code": "SQLITE_ERROR",
        "sql": "SELECT `id`, `order_num`, `order_date`, `status`, `createdAt`, `updatedAt` FROM `Orders` AS `Order` ORDER BY `Order`.`updateAt` DESC;"
    },
    "original": {
        "errno": 1,
        "code": "SQLITE_ERROR",
        "sql": "SELECT `id`, `order_num`, `order_date`, `status`, `createdAt`, `updatedAt` FROM `Orders` AS `Order` ORDER BY `Order`.`updateAt` DESC;"
    },
    "sql": "SELECT `id`, `order_num`, `order_date`, `status`, `createdAt`, `updatedAt` FROM `Orders` AS `Order` ORDER BY `Order`.`updateAt` DESC;"
}

我没有找到正确的方法来拦截 O(zero) Order foundno data found 的情况而不产生错误。

【问题讨论】:

    标签: node.js sqlite express sequelize.js


    【解决方案1】:

    检查您的列名。此代码Order.findAll({order: [['updateAt', 'DESC']]}) 可能是错误的,因为错误消息中的查询表明该列实际上是更新dAt

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-19
      相关资源
      最近更新 更多