Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Node/Postgres中查询关联模型_Node.js_Postgresql_Sequelize.js - Fatal编程技术网

Node.js 如何在Node/Postgres中查询关联模型

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,

我正在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,
      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
    }
});