【发布时间】:2019-11-14 01:36:29
【问题描述】:
如果我们将大量数据(比如几百 MB)保存到 Mongo 集合中以获得一天的数据,将其放入新数据库以跨时间保存数据的最佳方法是什么(以及因此可以查询它以查看随时间的变化)?我一直在将数据保存到类似于以下结构的集合中。价格每天都在变化,到目前为止,我每天都在用新数据替换旧数据。相反,我希望能够保留现有的结构,但将每天的收集与旧数据一起保存到一个新的数据库中,让我可以跨时间进行查询。在新数据库中构建它的最佳方法是什么,以便我可以轻松地跨时间查询单位定价数据,但不必更改当前数据库的保存方式? 我应该将每一天的数据作为新数据库中的一个单独集合并按日期命名每个集合,还是将每一天的数据放在它自己的文档中的一个非常大的集合中,还是其他什么?
当前结构(代表给定日期的价格快照):
Collection:
[{name: 'Property A',
latlng: [1,2],
propertyData: [{blah, blah}],
units: [
{unitNum: 1,
pricingData: {
1/1/2020:
{3-month-lease: 1500,
4-month-lease: 1400,
... [more prices for different lease lengths]
1/2/2020: [prices for different lease lengths],
... //lots of data for prices on each date
3/31/2020: [somedata]} }
{unitNum: 2, pricingData: [pricing data for unit 2]
... [more data on units for this property]
]
},
{name: 'Property B',
latlng: [1,2],
propertyData: [{blah, blah}],
units: [
{unitNum: 1,
pricingData: {
1/1/2020:
{3-month-lease: 1500,
4-month-lease: 1400,
... [more prices for different lease lengths]
1/2/2020: [prices for different lease lengths],
... //lots of data for prices on each date
3/31/2020: [somedata]} }
{unitNum: 2, pricingData: [pricing data for unit 2]
... [more data on units for this property]
]
}
... //data for many other properties
]
同样,上面代表 1 天数据的快照。我想要一个数据库,其中包含每天的数据以及上述数据,以便我可以看到单位的定价数据如何随时间变化。
感谢您的帮助!
【问题讨论】:
-
如果有帮助,每天的数据将包含大约 300mb 的数据(数千个单位的数据和每个单位的大量定价数据)。迄今为止,这 300mb 的每日数据都在一个集合中(同样,我想以某种方式将每天的数据保存在一起)
标签: mongodb mongoose mongodb-query