我的数据库中的用户在类中声明如下:
class User {
constructor() {
this.user = mongoose.model('user', {
email: String,
name: String,
})
}
validPassword(collection, password) {
... ...
}
}
const user = new User();
module.exports = user;
在我的PostSchema
中,我希望author
指向上述架构,但我不知道如何在ref:
之后编写该部分。我试过了User
,它给了我一个错误MongooseError: Schema hasn't been registered for model "User".
var PostSchema = new mongoose.Schema({
title: { type: String, default: "DefaultTitle" },
author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
})
有人可以帮忙吗?
答案 0 :(得分:0)
使用小写将您的参考转为'用户'。 这种表示法是指mongodb dbref
ref是你的情况下的集合名称(根据模式声明)“user”为小写。
这将是你的邮政宣言:
var PostSchema = new mongoose.Schema({
title: { type: String, default: "DefaultTitle" },
author: { type: mongoose.Schema.Types.ObjectId, ref: 'user' },
})