猫鼬模式参考

Posted

技术标签:

【中文标题】猫鼬模式参考【英文标题】:Mongoose schema reference 【发布时间】:2013-01-25 15:48:34 【问题描述】:

是否可以有一个 Schema 来引用 Mongo 中的另一个 Schema?

我有以下内容,我希望 Line 模式中的用户成为 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);

【问题讨论】:

【参考方案1】:

有可能

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

还有一句,你为什么叫他们LineSchemaUserSchema?你可以叫他们LineUser,毕竟他们代表了一条线路和一个用户:)

【讨论】:

ref 的值重要吗?我见过各种答案,其中ref 文本与任何模型或模式都无关。 ***.com/questions/18001478/… 链接到mongoosejs.com/docs/index.html

以上是关于猫鼬模式参考的主要内容,如果未能解决你的问题,请参考以下文章

猫鼬模式参考与嵌入数组

猫鼬模式参考和填充

如何使用打字稿定义猫鼬模式参考字段?

具有角色的参考数组的猫鼬模式

猫鼬“参考”文档,找不到

没有模式的猫鼬