在Mongodb中存储“投票”的高效文档格式?

时间:2012-02-15 16:04:36

标签: mongodb time-series

我正在尝试在MongoDB中存储“投票”,我仍然坚持如何以有效的方式进行。 基本上,我有几个选项的问题,如A B C D ...(总共6个)。 我给选民选择一个选项,并希望保存“投票”字段,如: MongoDate,选项,选民姓名,还有更多领域。

我打算在一个特定问题上拥有成千上万甚至数百万的无限“投票”。

在检索数据方面:我希望能够主要通过日期查询并以图表形式显示,例如每小时,每日,每月......的股票价格 换句话说,它就像时间序列。 我不确定MongoDB中文档的“格式”;

1 个答案:

答案 0 :(得分:1)

一种合理的方法是进行投票收集,每个文档看起来像:

{ v: 'a', //voted for the first option
d: Date(), //the date
n: 'Bob',
...
}

然后,在日期字段上编制索引。但是,注意不要单独在日期字段上进行分片,如果你必须最终分片。我将字段名称列为单个字符,因为每个字段的名称都存储在mongoDB中,因此为了提高空间效率,应使用较短的名称。如果你不关心空间,那么一个更长,信息更丰富的名字可能就好了。