我的设计中有 FlashcardSchemas 和 PackageSchemas。一个抽认卡可以属于不同的包,一个包可以包含不同的抽认卡。
下面你可以看到我的猫鼬模式定义的精简版本:
// package-schema.js
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var PackageSchema = new Schema({
id : ObjectId,
title : { type: String, required: true },
flashcards : [ FlashcardSchema ]
});
var exports = module.exports = mongoose.model('Package', PackageSchema);
// flashcard-schema.js
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var FlashcardSchema = new Schema({
id : ObjectId,
type : { type: String, default: '' },
story : { type: String, default: '' },
packages : [ PackageSchema ]
});
var exports = module.exports = mongoose.model('Flashcard', FlashcardSchema);
从上面的注释可以看出,这两个模式定义属于不同的文件,相互引用。
我收到一个异常,指出未按预期定义 PackageSchema。如何映射与猫鼬的多对多关系?