node.js - 架构尚未注册
问题描述
我正在尝试在模型之间的猫鼬中创建参考,但我在注册模型时遇到问题。
我的模型看起来像这样
用户模型.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"
我认为我正确注册了我的模型,但我不知道为什么我仍然无法链接它们。
解决方案
推荐阅读
- ios - 如何定义符合协议的通用属性
- javascript - 使用从 Java 加密的加密 js 解密密钥
- r - ggplot位置堆栈未正确添加值
- javascript - 在 JavaScript 中覆盖 console.log 的输出
- python-3.x - 检查标签是否为有效用户
- javascript - 图像适合画布fabricjs
- java - 多个线程尝试从数据库中获取数据时超出 GC 开销限制
- html - 如何在不“破坏”动画/效果的情况下添加指向此图库中展开图像的链接?
- amazon-web-services - AWS 加密密钥删除
- postgresql - 如何使用来自docker的de psql命令行在主机终端上键入psql?