2013-02-10 14 views
12

Czy możliwe jest posiadanie schematu w celu odniesienia się do innego schematu w obrębie Mongo?Odsyłacz do schematu mongozy

Mam poniżej, gdzie chciałbym użytkownik w schemacie linii, aby użytkownik z UserSchema

var UserSchema = new Schema({ 
    name: {type: String, required: true}, 
    screen_name: {type: String, required: true, index:{unique:true}}, 
    email: {type: String, required: true, unique:true}, 
    created_at: {type: Date, required: true, default: Date} 
}); 


var LineSchema = new Schema({ 
    user: [UserSchema], 
    text: String, 
    entered_at: {type: Date, required: true, default: Date} 
}); 


var StorySchema = new Schema ({ 
    sid: {type: String, unique: true, required: true}, 
    maxlines: {type: Number, default: 10}, // Max number of lines per user 
    title: {type: String, default: 'Select here to set a title'}, 
    lines: [LineSchema], 
    created_at: {type: Date, required: true, default: Date} 
}); 


var Story = db.model('Story', StorySchema); 
var User = db.model('User', UserSchema); 

Odpowiedz

23

Tak to jest możliwe

var LineSchema = new Schema({ 
    user: {type: Schema.ObjectId, ref: 'UserSchema'}, 
    text: String, 
    entered_at: {type: Date, required: true, default: Date} 
}); 

Również uwaga, dlaczego nazywasz je LineSchema i UserSchema? Możesz je nazwać Line i User, reprezentują one linię i użytkownika :)

+2

Czy wartość 'ref' ma znaczenie? Widziałem różne odpowiedzi, w których tekst "ref" jest nieistotny dla jakichkolwiek modeli lub schematów. –

Powiązane problemy