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

マングースでモデルを宣言するときにこの循環スキーマを処理する方法、または多対多の関係を処理する方法がわかりません。

4

1 に答える 1

7

まず、存在しない変数を参照しています。RutaSchemaまたはを介して参照します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)
于 2012-04-05T06:42:40.050 に答える