Javascript 如何在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 =

我试图使用mongoose嵌套模式,但我被卡住了,我真的不知道为什么。这是我得到的

我的父模式

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;

如果您像以前一样定义为新模型,那么它将创建自己的集合,并将成为新模型,而不是子文档架构。

我的回答有用吗?你能把它作为你问题的答案吗?我的答案有用吗?你能把它作为你问题的答案吗?