mongoose保存带参考的模型

时间:2014-11-17 18:57:44

标签: mongoose mongoose-populate

我有一个看起来像这样的模型

var UserSchema = new Schema({
    id:                 ObjectId,
    username:           { type: String, trim: true, required: true, unique: true, lowercase: true },
    location:           [{ type: ObjectId, ref: 'Location', required: false }],
    attachments:        [{ type: ObjectId, ref: 'Attachment', required: false }]
})

当用户注册时,我需要在保存/创建用户以获取这些ObjectId之前创建位置和附件对象。我觉得我这样做的方式可能是错的,这就是为什么它让我感到困惑或者有些东西我不知道。

我的问题是如何在保存用户集合之前保存这些集合,以便我可以将这些引用包含在我的用户集合中。

与此问题类似,但多个参考文献除外。

1 个答案:

答案 0 :(得分:0)

使用mongoose hooks解决依赖关系。如果您想在保存用户之前获取位置附件,请使用pre挂钩,否则请使用post挂钩。