javascript - 从字符串 mssqlsequelize 转换日期和/或时间时转换失败

标签 javascript node.js sql-server datetime sequelize.js

我正在尝试使用 Sequelize 和 Node js 连接到 MS Sql 服务器数据库,当我尝试在 Postman 中测试 post 路由时出现以下错误: “从字符串转换日期和/或时间时转换失败。” 数据库中的字段是datetime类型,不知道如何解决转换问题。

这是我尝试进行转换的代码:

async function createFeedback(UserId,feedback) {
    try{
        //eroare la data->trebuie rezolvata
        return await Feedback.create({
            Mesaj: feedback.Mesaj,
            Recenzie: feedback.Recenzie,
            DataFeedback:Date.parse(feedback.DataFeedback),
            UserId: UserId
  });

}
catch(e){
  return e.message;
}


}

有人有什么建议吗?

反馈实体的定义如下:

import db from '../dbConfig.js';
import Sequelize from 'sequelize';

const Feedback = db.define("Feedback", {
    FeedbackId: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        autoIncrement: true,
        allowNull: false
    },
    Mesaj: {
        type: Sequelize.STRING,
        allowNull: false
    },
    Recenzie: {
        type: Sequelize.STRING,
        allowNull: false
    },
    DataFeedback: {
        type: Sequelize.DATE, 
        allowNull: false  

       
    },
    UserId: {
        type: Sequelize.STRING,
        allowNull: false
    }

})
export default Feedback;

最佳答案

这是格式化issue MSSQL 数据库的 Sequelize。通过放置 MSSQL 不接受的额外值“+00:00”来进行序列化。

需要override MSSQL 的时区格式

Sequelize.DATE.prototype._stringify = function _stringify(date, options) {
  date = this._applyTimezone(date, options);
  // Z here means current timezone, _not_ UTC
  // return date.format('YYYY-MM-DD HH:mm:ss.SSS Z');
  return date.format('YYYY-MM-DD HH:mm:ss.SSS');
};

关于javascript - 从字符串 mssqlsequelize 转换日期和/或时间时转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65845527/

相关文章:

javascript - 通过 javascript 处理默认配置文件图像的更好方法

javascript - GMap 绘图工具转图像 jpeg [静态 map URL]

php - 获取csv文件中的列名

sql - Hive 中 SQL Server UPDATE 命令的最佳等价物

sql-server - 无法仅从远程服务器使用 SQL 身份验证登录

javascript - 如何自定义 bxlsider 的标题

javascript - 尝试理解 Flux 架构

javascript - 删除 JavaScript 中的特殊字符

node.js - NPM 无法安装模块,mkdir 拒绝权限

javascript - 如何在请求调用时将值传递给回调函数?