Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 建议的面向文档数据库(MongoDB)设计_Database Design_Mongodb_Database Schema - Fatal编程技术网

Database design 建议的面向文档数据库(MongoDB)设计

Database design 建议的面向文档数据库(MongoDB)设计,database-design,mongodb,database-schema,Database Design,Mongodb,Database Schema,我正在为一个现有的电子商务网站研究替代数据库解决方案,我想我应该给NoSQL一个概览 我们当前的设计是非常传统的关系设计。然而,网站的功能和结构更适合CMS。页面的类型可以按如下方式细分: 类别列表(列出特定类别或自定义查询中的产品) 主页 子类别主页 自定义内容页(新闻稿、促销等) 产品 其中每一个都有许多共同点,可以从面向文档的设计中获益 酸并不重要。关键事务数据(读取:stock)在别处维护。在场外处理订单时,会发现超额销售。定期从非现场位置更新现场库存 粗集设计: { {

我正在为一个现有的电子商务网站研究替代数据库解决方案,我想我应该给NoSQL一个概览

我们当前的设计是非常传统的关系设计。然而,网站的功能和结构更适合CMS。页面的类型可以按如下方式细分:

  • 类别列表(列出特定类别或自定义查询中的产品)
  • 主页
  • 子类别主页
  • 自定义内容页(新闻稿、促销等)
  • 产品
其中每一个都有许多共同点,可以从面向文档的设计中获益

酸并不重要。关键事务数据(读取:stock)在别处维护。在场外处理订单时,会发现超额销售。定期从非现场位置更新现场库存

粗集设计:

{
  {
    "title":"Some page Title",
    "type":"Page",
    "key":"some-page-title",
    "body":"Lorem Impsum..."
  },
  {
    "title":"Some product",
    "type":"Product",
    "key":"widgets\/some-product",
    "data":{
      "stock":3,
      "price":25.13,
      "category":"Widgets",
      "images":["image1.jpg","image2.jpg"]
    }
  }
}

其他数据(客户、订单等)将位于适当设计的集合中。“页面”是访问量最大的项目,我希望将它们集中起来。有什么想法或建议吗?

你想保持“页面”集中化是什么意思?很抱歉回复太晚,我没有注意到有问题。我应该重新表述一下我所说的页数。我正在考虑将网站上的所有内容分类为一个页面。每个页面都有自己的数据,这些数据决定了该页面上显示的内容。它们之间有共同的元素(如标题),但其他元素可能不同。所以,我希望把所有这些元素包含在他们自己的集合中,如果没有页面不是大的,那么考虑为每个页面保持单独的密钥,这样你就可以在“页面”数组中钻取开销。