在不同文件中创建模型的mongoose引用

时间:2015-09-03 16:50:11

标签: reference mongoose schema models

我需要创建对不同文件中的2个模型的引用。我的模特是:

Profesor
Curso

我希望Curso能够引用Profesor。我的问题是,在创建模型Curso时,模型Profesor尚不存在。

  

尚未为模型Profesor

注册MissingSchemaError模式

如果引用的是模型Alumno,那么问题是因为在Alumno之前创建了Curso吗?

1 个答案:

答案 0 :(得分:0)

首先创建所有模式,然后注册模型。当你引导你的应用程序之前,先做其他事情。然后你就不会遇到这样的问题。来自文档的示例,其中两个模式相互引用:

http://mongoosejs.com/docs/populate.html

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var personSchema = Schema({
  _id     : Number,
  name    : String,
  age     : Number,
  stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

var storySchema = Schema({
  _creator : { type: Number, ref: 'Person' },
  title    : String,
  fans     : [{ type: Number, ref: 'Person' }]
});

var Story  = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);