与mongoose的循环参考

我有以下代码为mongoose模式

var EstacionSchema = new Schema({ nombre : {type : String, required: true, unique: true} , zona : {type : String, required: true} , rutas : [Ruta] }) mongoose.model('Estacion', EstacionSchema) var RutaSchema = new Schema({ nombre : {type : String, required: true, unique: true, uppercase: true} , estaciones : [Estacion] }) mongoose.model('Ruta', RutaSchema) 

但是,当我尝试它显示

 ReferenceError: Ruta is not defined 

我不知道在用mongoose声明模型或处理多对多关系时,如何处理这个循环模式

首先你引用了不存在的variables。 你可以通过RutaSchemaRutaSchema mongoose.model('Ruta');引用它mongoose.model('Ruta');

我会尝试

 var EstacionSchema = new Schema({ nombre : {type : String, required: true, unique: true} , zona : {type : String, required: true} }) mongoose.model('Estacion', EstacionSchema) var RutaSchema = new Schema({ nombre : {type : String, required: true, unique: true, uppercase: true} , estaciones : [EstacionSchema] // or mongoose.Model('Estacion'); }) // Add reference to ruta EstacionSchema.add({rutas: [RutaSchema]}); mongoose.model('Ruta', RutaSchema)