2015-01-18 4 views
1

У меня есть две разные схемы, и я помещаю их в два отдельных файла, но вопрос в том, как я могу ссылаться на идентификатор объекта схемы? из одного файла в другой.Ссылка в схеме mongoose

Это в основном, две схемы в одном файле

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); 

Два SCHEMAS в двух разных файлах

1) person.js

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

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

module.exports = mongoose.model('Person', personSchema); 

2) story.js

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


module.exports = mongoose.model('Story', storySchema); 

Что sh ould Я помещаю ref в оба файла схемы? поскольку оба они находятся в отдельном файле.

ответ

2

Свойства ref - это просто строки, неважно, что они находятся в отдельных файлах.

Выполнение следующих несмотря на них в том, различные файлы будут работать:

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' }] 
}); 
Смежные вопросы