2015-01-18 14 views
1

두 개의 서로 다른 스키마가 있고 두 개의 개별 파일에 넣었지만 질문은 어떻게 스키마 개체 ID를 참조합니까? 한 파일에서 다른 파일로.몽구스 스키마의 참조

이것은 기본적으로 두 개의 서로 다른 파일

1)에서 하나의 파일

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

두 스키마에 두 개의 스키마는

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 person.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' }] 
});