NodeJS、mongoDB、angularJS嵌套注释系统

NodeJS、mongoDB、angularJS嵌套注释系统,angularjs,node.js,mongodb,nested,comments,Angularjs,Node.js,Mongodb,Nested,Comments,我正在编写一个小型嵌套注释系统。我遵循了mongoDB案例研究中关于存储评论的规则。我选择将每个注释存储在单个文档中 在我的界面中,当我请求讨论时,我会从API的讨论中获得一个有序的评论数组。问题是,我很难用嵌套注释构造某种对象,因为我知道级别,所以我可以用AngularJS渲染它。 我知道,如果我有一个大JSON或对象,包含整个讨论和嵌套到他们父母的回复,我可以很容易地呈现它。因此,我的模式如下所示: var CommentSchema = new Schema({ discussion_

我正在编写一个小型嵌套注释系统。我遵循了mongoDB案例研究中关于存储评论的规则。我选择将每个注释存储在单个文档中

在我的界面中,当我请求讨论时,我会从API的讨论中获得一个有序的评论数组。问题是,我很难用嵌套注释构造某种对象,因为我知道级别,所以我可以用AngularJS渲染它。 我知道,如果我有一个大JSON或对象,包含整个讨论和嵌套到他们父母的回复,我可以很容易地呈现它。因此,我的模式如下所示:

var CommentSchema = new Schema({
  discussion_id: SchemaTypes.ObjectId,
  parent_id: SchemaTypes.ObjectId,
  slug: String,
  full_slug: String,
  community: {type: String, default: 'defaultCommunity'},
  inserted: {type: Date, default: Date.now},
  title: String,
  text: String,
  author: {
    id: SchemaTypes.ObjectId,
    twitter_id: SchemaTypes.Long,
    twitter_screen_name: String,
    twitter_profile_pic: String
  },
  updated: {type: Date, default: Date.now},
  hearts: {type: Number, default: 0},
  dislikes: {type: Number, default: 0},
  flags: {type: Number, default: 0},
});
因此,当我从客户端恢复讨论时,我会收到一个数组,其中包含代表所有评论的所有文档。slug表示注释的“路径”,例如:

  • 母_段塞:834b
  • 子段塞:834b/123k
  • child_child_slug:834b/123k/876t
  • 儿童鼻涕虫:834b/656m
我希望有人能给我点启发,因为我真的累坏了。简单的解决方案是将整个讨论存储在一个文档中,但我想这样做


非常感谢。

这方面有什么更新吗?是的@Maury Markowitz我解决了这个问题,但现在记不起来了。我认为我在一个旧的存储库中有代码,所以让我搜索它,然后发布解决方案。这是一个有点角度的攻击。有什么更新吗?是的@Maury Markowitz我解决了这个问题,但我现在记不起来了。我认为我在一个旧的存储库中有代码,所以让我搜索它,然后发布解决方案。这是一个有点角度的攻击。