我的数据库中的用户在类中声明如下:
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".
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' }, })
有人能帮忙吗?
用downcase将ref改为“user”。 该符号表示mongodb dbref
ref是在您的案例中的集合名称(根据模式声明)“user”在downcase中。
这将是您的后申报:
var PostSchema = new mongoose.Schema({ title: { type: String, default: "DefaultTitle" }, author: { type: mongoose.Schema.Types.ObjectId, ref: 'user' }, })