我正在从流式 API 收集数据,我想创建一个实时分析仪表板。每次流的末尾出现新记录时,我都会更新以下文档中的计数器。
从设计的角度来看。我只使用一个文档是否正确,如下例所示?
{
"_id" : ObjectId("5238beb4d4bed9e444c99978"),
"counts" : {
"hours" : {
"1" : 835,
"2" : 1007,
.
.
.
"3" : 174,
}
}
这种方法的好处是只需将一个文档发送到实时分析仪表板。同样在一年后,该文档将只有 365 * 24 个字段,该年每小时 1 个?
索引呢?如果我只有一个文档,我可以在 counts.hours 上创建索引吗?还是索引仅适用于 mongodb 中的集合?索引是否有助于更快地查找文档或文档中的字段?
如果我可以在 counts.hours 上创建一个索引,那么计数器增量过程可以更有效地找到要增量的正确时间(每个新文档在流末尾)。