需要建议来构建我的mongoDB数据库

时间:2018-08-05 01:07:05

标签: database mongodb nosql

我刚刚开始使用mongoDB。我正在尝试在辅助项目中使用它,但是在构造文档时遇到一些问题。 这是一个非常具体的主题,但我正在将其翻译成一个真实的单词示例。 这是主题,我有我的国家/地区商店的数据。每个地区有一家商店。每个商店都可以找到一组物品(很多物品)。对于每个项目,我都有一个ID和一些数据(价格,数量,...)。事实是,物品的价格每天都在变化,我想保留30天的历史数据。

用户将不得不选择他们的区域,然后选择几个项目进行比较。

我已经尝试过类似该模型的事情:

region_id: Number,
items: [{
    item_id: Number,
    item_data:[itemDataSchema]
}]

但是我认为由于保存30天的数据后文档的大小会出现问题

我的一个朋友向我建议了这个,但是对mongoDB也不是很熟悉:

item_id: Number,
region_id: Number,
item_data:[itemDataSchema]

写这篇文章,我认为这可能会使事情复杂化,答案可能真的很简单。我无法可视化所需的结构。那就是为什么我要问你一些帮助。 预先感谢您的建议。

1 个答案:

答案 0 :(得分:0)

由于mongodb中文档的大小受到限制,因此您正在考虑的结构有机会达到限制

我想你应该做2个集合1将包含区域的文档(仅包含具有region_id的区域信息),第二个集合将包含每个商品的文档,并将具有region_id,与该产品相关的其他数据以及数组item_price,拥有日期和价格值的对象来存储30天的价格历史记录

这是项目文档的样子

{ item_id
  region_id, 
  Item_data,
  Item_price : [ { date : Date, price : number }]
 }