【发布时间】:2014-11-29 23:29:48
【问题描述】:
//User Schema
{ name: String } //_id automatically added by Mongoose
//Post Schema
{ content: String,
comments: [{
date: Date,
user: Schema.ObjectId,
content: String
}]
}
在我的应用程序中,用户将能够在特定文章上留下 cmets。在我的 cmets 模式中,我将有一个引用用户的 ObjectID,以便我可以在前端填充他或她的用户名。但是,当用户删除他或她的帐户时,他们过去发布的所有 cmets 中的 ObjectID 现在都没有意义,因此我无法检索他或她的用户名以显示在前端。我的解决方案是最初让评论通过 ObjectID 引用用户,然后在预删除 Mongoose 中间件上检查所有具有匹配 ObjectID 的评论对象,并用他们的用户名字符串替换 user 字段,这样即使他们的帐户被删除,我的前端仍然可以显示他们的名字。
如何让 Mongoose Schema 中的字段作为字符串 或 ObjectID 有效?
这个问题有更好的解决方案吗?
【问题讨论】:
标签: node.js mongoose user-accounts