Javascript 如何在mongoose中嵌套模式?
我试图使用mongoose嵌套模式,但我被卡住了,我真的不知道为什么。这是我得到的 我的父模式Javascript 如何在mongoose中嵌套模式?,javascript,express,mongoose,Javascript,Express,Mongoose,我试图使用mongoose嵌套模式,但我被卡住了,我真的不知道为什么。这是我得到的 我的父模式 const Comment = require("./Comment"); const BookSchema = new Schema({ _id: Number, comments: [{ comment: Comment }], ratings: [{ rate: Number }], calculatedRating: Number }); module.exports =
const Comment = require("./Comment");
const BookSchema = new Schema({
_id: Number,
comments: [{ comment: Comment }],
ratings: [{ rate: Number }],
calculatedRating: Number
});
module.exports = Book = mongoose.model("book", BookSchema);
和子模式
const CommentSchema = new Schema(
{
userName: String,
rating: Number,
body: String,
submit_date: {
type: Date,
default: Date.now
}
},
{ _id: false }
);
module.exports = Comment = mongoose.model("comment", CommentSchema);
使用此设置,我会遇到一个错误:
“TypeError:架构配置无效:模型不是有效的类型
在路径注释处。”
我认为我对这些出口产品做了一些错误的事情,但我不确定。您的评论应该是:
const CommentSchema=新模式(
{
用户名:String,
评级:数字,
正文:字符串,
提交日期:{
类型:日期,
默认值:Date.now
}
},
{u id:false}
);
module.exports=CommentSchema;
如果您像以前一样定义为新模型,则它将创建自己的集合,并将成为新模型,而不是子文档架构。您的注释应为:
const CommentSchema=新模式(
{
用户名:String,
评级:数字,
正文:字符串,
提交日期:{
类型:日期,
默认值:Date.now
}
},
{u id:false}
);
module.exports=CommentSchema;
如果您像以前一样定义为新模型,那么它将创建自己的集合,并将成为新模型,而不是子文档架构。我的回答有用吗?你能把它作为你问题的答案吗?我的答案有用吗?你能把它作为你问题的答案吗?