長く曖昧なタイトルには申し訳ありません。Node.js PostgresQLのExpress、後継のエラー
httpリクエストでデータベースに新しいユーザーを追加しようとしています。モデルファイルでテーブルを作成するのに問題はありませんが、何らかの理由で新しいユーザーを追加できません。だからここ
は、私が取得していますエラーです:
export default function createUserModel (sequelize, DataTypes) {
const user = sequelize.define('user',{
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
username:{
type: DataTypes.STRING,
allowNull: false,
unique: true
},
password: {
type: DataTypes.STRING,
allowNull: false
}
},{
classMethods: {
associate (models){
user.belongsToMany(models.conversation, {through:'UserConversations'});
}
}
});
return user;
}
コントローラ(user_controller.js
):
var express = require('express');
var db = require('sequelize-connect');
var router = express.Router();
router.get('/', function (req, res, next) {
res.send('Hello World');
});
// Create new user
router.post('/', function (req, res, next) {
try{
const createdUser = db.models.user.create({
email: req.body.email,
username: req.body.username,
password: req.body.password
});
res.status(200).json(createdUser.dataValues);
}catch(err){
console.log(err);
next(err);
}
});
module.exports = router;
マイカール要求ここ
Executing (default): SELECT 1+1 AS result
Connection to database successfull
TypeError: Cannot read property 'user' of undefined
は私のモデルファイルuser.js
です:
curl -v -H "Content-type: application/json" -X POST http://localhost:3000/api/users/ -d '{"email":"[email protected]", "username":"test","password":"123456"}'
申し訳ありません申し訳ありませんノードには初めてです。後継のモデルをインポートすることはどういう意味ですか?私は自分のポストグル管理者で作成されたテーブルを見ることができますか? –
@Faellor doc [http://docs.sequelizejs.com/en/latest/docs/models-definition/#import](http://docs.sequelizejs.com/en/latest/docs/models-definition)を読んでください。 /#import) – Calvinxiao
ありがとう、それは今動作します! –