2013-02-10 14 views
12

È possibile avere uno schema per fare riferimento a un altro schema all'interno di Mongo?Riferimento schema Mongoose

Ho il sottostante, dove mi piacerebbe l'utente nello schema linea da un utente dal 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); 

risposta

23

Sì, è possibile

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

anche un'osservazione, perché li chiami LineSchema e UserSchema? Puoi chiamarli Line e User, rappresentano una linea e un utente dopotutto :)

+2

Il valore di 'ref' è importante? Ho visto varie risposte in cui il testo "ref" è irrilevante per qualsiasi modello o schema. –

Problemi correlati