目前,我正在使用nodejs / expressjs和。实现一个博客应用程序 mongoDB(+ mongoose)作为数据库。它到目前为止工作正常,但现在我正在努力 实现嵌套/线程注释。
当我读到有关如何存储此类评论的不同方法时 mongoDB我将每个评论存储在一个单独的文档中以保留 flexiblity。
与存储嵌入在线程中的所有注释相比,我将检索 我在DB中以无序形式发表评论,并引用了每个父母...... 物化路径将是另一种选择,但是,索引可能会有问题 由于他们的长度。
我计划在渲染时进入实际的排序客户端 评论 - 一个好主意?
我读到了关于backboneJS(关系)并问自己是否 这是一个合适的工具,可以帮助实现它。
答案 0 :(得分:1)
是将评论作为单独的文件存储在Mongo中会没问题。在Mongo中,键控查找通常很快,因此维护一个单独的线程和注释的规范化结构应该有效。
# Create thread:
db.threads.insert({ id: 123, name: "My thread title..." })
# Add comment:
db.comments.insert({ id: 1, threadId: 123, text: "My comment text..." })
# Find comments in thread by order of insertion (assuming ids are sequential):
db.comments.find({ threadId: 123 }).sort({ id: 1 })
如果您正在构建单页应用程序,Backbone是一个很好的框架。另外我建议看Backbone Marionette。这是一个扩展,使很多很酷的事情成为可能(良好的文档)。