我想在django中使用mongodb作为后端定义一个时间序列模型。我读了一些best practices for timeseries data at the MongoDB Blog,我想我对它了解得很清楚。但是现在,我的问题是:如何使用django的模型语法定义这样的模型?我不确定这些是embedded documents
,还是仅仅在模型字段中存储arrays
或dicts
。这里是建议蒙戈格式:如何在django-mongodb引擎中构造时间序列模型
理想蒙戈文档格式:
{
timestamp_hour: ISODate("2013-10-10T23:00:00.000Z"),
type: “memory_used”,
values: {
0: { 0: 999999, 1: 999999, …, 59: 1000000 },
1: { 0: 2000000, 1: 2000000, …, 59: 1000000 },
…,
58: { 0: 1600000, 1: 1200000, …, 59: 1100000 },
59: { 0: 1300000, 1: 1400000, …, 59: 1500000 }
}
}
一种解决办法是做这样的事情,文档持有一天的数据:
# models.py
class timeseries(models.Model):
date = models.DateField(null=True)
value_hour_0 = models.CharField(max_length='1024', blank=True)
value_hour_1 = models.CharField(max_length='1024', blank=True)
value_hour_...
value_hour_23 = models.CharField(max_length='1024', blank=True)
即使我在value_hour_n
字段中存储arrays
或dicts
,但它并不完全提供查询文档中提到的优点,例如timeseries.HR.MIN
。有什么建议么?