【问题标题】:Should I build one or two mongodb models?我应该构建一两个 mongodb 模型吗?
【发布时间】:2016-02-23 02:58:37
【问题描述】:

我正在构建一个平均堆栈应用程序,允许人们阅读和撰写有关产品的评论。

评论将按网站上的产品分类:用户将打开显示网站上评论的产品列表的页面,并查看每个产品的名称。当点击产品时,用户会被引导到一个新页面,其中显示了有关该产品的所有评论。

我打算只构建一个模型来收集所有评论:

var ReviewSchema = new mongoose.Schema({
    productName: String,
    productCreator: String,
    review: String,
    upvotes: {type: Number, default: 0},
    author: String
});

列出所有产品的页面将从数据库中获取所有评论,然后在消除所有重复后仅显示产品名称和产品创建者。

<a href="link/to/reviews/aboutProducts">{{productName}} - {{productCreator}}</a>

但它可能根本没有效率。建立两种不同的模型,一种用于评论,一种用于产品,会更好吗?

如果我的问题很愚蠢,我很抱歉,但我仍在学习 MEAN 并且对非关系数据库知之甚少,这是我的第一个项目 ;)

【问题讨论】:

  • 由于 mongo 是一个非关系型数据库,我对此不是 100%,但我认为最好有一个单独的评论集合并将它们链接到 productID。另外,我猜作者是用户,您还希望它是一个单独的集合并与 uniqID 链接在一起。
  • 感谢您的帮助我计划为作者单独收集,我现在只是使用字符串来保持简单。其他人有100%的答案吗? :)
  • 我的 0.02 美元:为您拥有的每个 事物 创建一个单独的模型。在这里,您有“产品”和“评论”(可能还有“作者”)。 -- 如您所见,这个问题主要是基于意见的,因此not a good fit for StackOverflow

标签: node.js mongodb express mean.io


【解决方案1】:

我已经构建了两个已嵌入的模型。写完剩下的路由会多花一点时间,但最终会简化前后。

猜你喜欢
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 2012-07-27
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多