【发布时间】:2012-10-04 20:00:04
【问题描述】:
我有大量线程化的 cmets。假设 cmets 如下所示:
{
_id: [ObjectID],
parentid: [ObjectID],
...
}
我有一个从数据库中检索到的所有 cmets 的大型数组:
comments = [comment1, comment2, comment3]
为了得到任意评论的回复,我有一个这样的辅助函数:
function getReplies(comment, replies) {
return replies.filter(function(reply) {
return reply.parentid === comment._id
}
}
然而,当许多 cmets 已被处理(每个只有一个父级)或评论只有 1 个回复或根本没有回复(更深入评论线程)。
这是过度优化,但我想知道你们将如何解决这个问题。除非有更优雅的解决方案,否则我认为我不会更改此功能。您将如何构建此帮助程序,使其不会不必要地处理相同的评论两次?
【问题讨论】:
标签: javascript node.js