首页 > 解决方案 > 架构尚未注册

问题描述

我正在尝试在模型之间的猫鼬中创建参考,但我在注册模型时遇到问题。

我的模型看起来像这样

用户模型.js

import mongoose from 'mongoose';

const userModel = mongoose.Schema(
  {
    name: {
      type: String,
      require: true,
    },
    email: {
      type: String,
      require: true,
      unique: true,
    },
    password: {
      type: String,
      require: true,
    },
    role: {
      type: Number,
      require: true,
      default: 2,
    },
    isPremium: {
      type: Boolean,
      default: false,
    },
    beats: [
      {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Beat',
      },
    ],
  },
  {
    timestamps: true,
  },
);

const User = mongoose.model('User', userModel);

export default User;

beatModel.js

import mongoose from 'mongoose';

const beatModel = mongoose.Schema({
  producer: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User',
  },
  title: {
    type: String,
  },
  price: {
    type: Number,
  },
  cover: {
    type: String,
  },
  tags: [String],
  plays: {
    type: Number,
  },
});

const Beat = mongoose.model('Beat', beatModel);

export default Beat;

每次尝试通过以下方式获取数据时

beatModel.findById(id).populate('producer', 'name');

我得到的唯一错误是 Schema hasn't been registered for model "User"

我认为我正确注册了我的模型,但我不知道为什么我仍然无法链接它们。

标签: node.jsmongoose

解决方案


推荐阅读