我想在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
。有什麼建議麼?