Node.js 如何在Node/Postgres中查询关联模型
我正在express中构建一个应用程序,我正在使用postgres和sequelize for ORM。我有两种型号,Node.js 如何在Node/Postgres中查询关联模型,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我正在express中构建一个应用程序,我正在使用postgres和sequelize for ORM。我有两种型号,User和Post 在我的user.js和post.js文件中,我有: module.exports = function(sequelize, DataTypes) { return sequelize.define('users', { id: { type: DataTypes.INTEGER, allowNull: false,
User
和Post
在我的user.js
和post.js
文件中,我有:
module.exports = function(sequelize, DataTypes) {
return sequelize.define('users', {
id: {
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: ""
},
module.exports = function(sequelize, DataTypes) {
return sequelize.define('posts', {
id: {
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
user_id: {
type: DataTypes.INTEGER,
allowNull: true
},
title: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: ""
},
我导入了这两个模型,并进行了以下关联:
User.hasMany(Post, { foreignKey: 'user_id' });
Post.belongsTo(User, { foreignKey: 'user_id' });
我试图呈现用户完成的所有帖子,但我可能遗漏了一些东西
在我的路线中,我可以找到正确的用户,但我不知道如何继续
router.route('/:id').get(async (req, res) => {
const user = await User.findById(req.params.id);
console.log(user);
res.send(user);
})
谢谢 不支持关联模型
User.findById(req.params.id);
您可以将findById
更改为findOne
,并包括这样的模型
User.findOne({
where : { id : req.params.id },
include : {
model : Post
}
});