2012-04-05 3 views
5

J'ai le code suivant pour les schémas mangousteRéférence circulaire avec mangouste

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) 

mais quand je l'essayer il montre

ReferenceError: Ruta is not defined 

Je ne sais pas comment yo gérer soit ce schéma circulaire lors de la déclaration des modèles en mangouste ou manipuler plusieurs à plusieurs relations

Répondre

7

Tout d'abord, vous faites référence à des variables qui n'existent pas. Vous le référencer via RutaSchema ou mongoose.model('Ruta');.

Je vais essayer

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)