【问题标题】:Error with an insert in nodejs and Postgres using sequelize使用 sequelize 在 nodejs 和 Postgres 中插入错误
【发布时间】:2021-03-29 01:56:42
【问题描述】:

我正在尝试使用 sequelize 在 Postgres 中插入,但出现此错误:

[![在此处输入图片描述][1]][1]

这是我的控制器:

const bcryptjs = require('bcryptjs');
const jwt = require('jsonwebtoken');
var path = require('path');
const {OAuth2Client} = require('google-auth-library');
const {Model, Sequelize} = require('sequelize');
const db = require('../../models/index');

exports.signUp = async (req, res) => {

try{
    const newUser = await db.user.create({
        first_name: "test",
        last_name: "test" ,
        email : "true",
        mobile_number : "true",
    })
    if(newUser){
        return res.json({message:"Movie created  successfully",data:newUser})
    }

}catch(errors){
    console.log(errors);
    res.status(400).json({
        ok: false,
        errors
    });
}

}

这是我的模型:

'use strict';
const {
Model
} = require('sequelize');

module.exports = (sequelize, DataTypes) => {
const user = sequelize.define("user", {
// Model attributes are defined here
first_name: {
  type: DataTypes.STRING
},
last_name: {
  type: DataTypes.STRING
},
email: {
  type: DataTypes.STRING
},
mobile_number: {
  type: DataTypes.STRING
}
}, {
schema: "user"
// Other model options go here
});
return user;
};

我在 postgres 中创建的该模式中有一个名为“user”的模式和一个名为“users”的表。我删除了 postgres 中的表,我再次进行了迁移,但我得到了同样的错误

【问题讨论】:

    标签: node.js postgresql sequelize.js


    【解决方案1】:

    在您使用sequelize.define('user') 的第二张图片中,尝试将其更改为sequelize.define('users')。您正在定义一个不存在的表。

    【讨论】:

    • 我尝试在模型中更改它,但我得到:TypeError: Cannot read property 'create' of undefined
    • 也改const new user = await db.users.create
    • 如果你添加源代码而不是添加图像会更好。
    • 我添加了代码。我改变了 const new user = await db.users.create 但我得到了关系错误,和我一开始的一样
    • 完成,在模型中使用这个解决了: freezeTableName: true
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    相关资源
    最近更新 更多