You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sequelize执行查询时遇TypeError: date.includes不是函数错误

解决Sequelize操作SQLite时的TypeError: date.includes is not a function错误
  • 检查Sequelize与SQLite驱动版本兼容性
    这个错误大概率是版本不匹配导致的,建议重新安装适配的依赖组合:

    npm uninstall sequelize sqlite3
    npm install sequelize@^6 sqlite3@^5
    

    版本号可参考Sequelize官方文档调整,确保两者版本兼容。

  • 修正模型日期字段配置与传值逻辑
    确认userDB模型里的日期字段定义正确,且如果开启了自动时间戳,无需手动传入日期值:

    // 正确的模型定义示例
    const User = sequelize.define('User', {
      robloxId: { type: DataTypes.STRING, primaryKey: true },
      mnriPoints: DataTypes.INTEGER,
      msdPoints: DataTypes.INTEGER,
      mhctPoints: DataTypes.INTEGER,
      permLevel: DataTypes.INTEGER
    }, {
      timestamps: true // 自动生成createdAt和updatedAt,defaults里无需手动传入
    });
    

    若必须手动传值,直接传入new Date()即可,不要转成字符串,Sequelize会自动处理类型转换。

  • 排查全局代码对Date对象的修改
    检查项目中是否有修改Date原型的代码,或者Sequelize全局钩子中对日期字段做了错误处理,导致Date对象被转换成不具备includes方法的类型。暂时禁用所有自定义钩子测试,逐步定位冲突点。

  • 重建SQLite数据库文件
    若数据库文件损坏也可能引发此类异常,备份现有数据库文件后删除,重新执行sequelize.sync()生成新库,再测试查询逻辑。

内容的提问来源于stack exchange,提问作者CanineData

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:26:14