2012-04-05 114 views
5

循環引用我已經當我嘗試它的貓鼬模式與貓鼬

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 

我不知道聲明的模型時喲如何處理用戶可以在本通告模式在貓鼬或處理多對多關係

回答

7

首先你引用的變量不存在。你可以通過RutaSchemamongoose.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)