用户和密码数据序列化数据库之间的关系

问题描述 投票:0回答:1

我正在尝试在用户和他最喜欢的加密货币之间建立联系。

意味着,多个用户可以使用与他们的收藏夹相同的密码。

Coin.js

         module.exports = (sequelize, DataTypes) => {
              const Coin = sequelize.define('Coin', {
                cryptoName: DataTypes.STRING,
              })
              return Coin
         }

User.js

module.exports = (sequelize, DataTypes) => {
    const User = sequelize.define('User', {
        firstName: DataTypes.STRING,
        lastName: DataTypes.STRING,
        email: {
           type: DataTypes.STRING,
           unique: true
        },
        password: DataTypes.STRING
        }, {
          hooks: {
           beforeSave: hashPassword
          }
     })

     return User
  }

这是我目前的两张桌子,现在我正在尝试在它们之间建立关系。并且我一直在控制台上收到此错误,但我不明白为什么。

[CoinUsersRelations.belongsToMany调用了不是Sequelize.ModelFunction.belongsToMany子类的东西

CoinsUserRelations.js

     const User = require('./User.js')
     const Coin = require('./Coin.js')

       module.exports = (sequelize, DataTypes) => {
           const CoinUsersRelations = sequelize.define('CoinUsersRelations', {
               UserID: {
                   type: DataTypes.INTEGER,
                   references: {
                      model: User,
                      key: "UserID"
                   }
               },
               CoinID: {
                   type: DataTypes.INTEGER,
                   references: {
                      model: Coin,
                      key: "CoinID"
                   }
               }
            })

            CoinUsersRelations.belongsToMany(Coin, {as: 'Coin', foreignKey: 'CoinID'})
            CoinUsersRelations.belongsTo(User, {as: 'User', foreignKey: 'UserID'})

            return CoinUsersRelations
       }

我真的不确定如果在创建关系之前实际定义了模型,为什么会收到此错误。

javascript node.js database sequelize.js model-associations
1个回答
0
投票

您应该注册所有模型,然后将所有模型关联在一起。查看我的answer on a similar problem

© www.soinside.com 2019 - 2024. All rights reserved.