账户被删除后显示用户名? (Mongoose Schema)

账户被删除后显示用户名? (Mongoose Schema)

问题描述:

//User Schema 
{ name: String } //_id automatically added by Mongoose 

//Post Schema 
{ content: String, 
    comments: [{ 
    date: Date, 
    user: Schema.ObjectId, 
    content: String 
    }] 
} 

在我的应用程序中,用户将能够对特定文章发表评论。在我的评论架构中,我将拥有一个引用用户的ObjectID,以便我可以在前端填充他或她的用户名。但是,当用户删除他或她的帐户时,他们过去发布的所有评论中的ObjectID现在都没有意义,所以我无法检索他或她的用户名以显示在前端。我的解决方案是最初通过ObjectID对用户进行评论引用,然后在预删除Mongoose中间件上通过具有匹配对象ID的所有评论对象,并用它们的用户名字符串替换user字段,以便我的前端即使他们的帐户被删除,他们仍然可以显示他们的姓名。账户被删除后显示用户名? (Mongoose Schema)

我该如何着手将我的Mongoose Schema中的字段设置为字符串 ObjectID?

是否有更好的解决方案来解决这个问题?

我可以建议你一个非常简单的方法来解决你所处的问题。在你的用户文档中添加一个字段名称status。当用户删除他们的账户时,您不会删除他们的账户。我暗示这是你需要用户的详细信息,即使他们删除了他们的帐户。所有用户的账户状态将为active,但那些已删除其账户的人除外。对于已删除帐户的用户,其状态为inactivearchived。要确保处于不活动状态的用户无法执行某些操作,请在登录时对用户状态进行一些检查。

希望这会有所帮助。

+0

好主意。谢谢。 – 2014-10-05 18:28:29