2013-02-10 70 views
12

綱要是否可以在Mongo內引用另一個綱要?貓鼬綱要參考

我已經得到了下面,在這裏我想在在線模式的用戶是一個用戶從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); 

回答

23

是有可能

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

同樣的一句話,你爲什麼叫他們LineSchemaUserSchema?你可以稱它們爲LineUser,它們代表一條線和一個用戶,畢竟:)

+2

'ref'的值是否值?我看到了各種答案,其中'ref'文本與任何模型或模式無關。 – 2015-07-16 15:50:31