如何在猫鼬中嵌套模式?

时间:2019-06-21 14:25:27

标签: javascript express 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:无效的架构配置:模型不是有效的类型   在路径注释中。”

我正在考虑我对那些出口做错了,但我不确定。

1 个答案:

答案 0 :(得分:0)

您的./评论应为:

const CommentSchema = new Schema(
  {
    userName: String,
    rating: Number,
    body: String,
    submit_date: {
      type: Date,
      default: Date.now
    }
  },
  { _id: false }
);

module.exports = CommentSchema;

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