0

我正在研究 D3 可视化,幸运的是已经取得了一些进展。但是,我遇到了一个问题……老实说,我不确定它是 MongoDB 问题还是 D3 问题。你看,我正在尝试从一组传感器点制作一系列图表(我的 JSON 对象包含时间戳、光线、温度、湿度和运动检测级别或每个数据点)。但是,我的传感器每 8 秒将数据上传到我的 MongoDB 数据库。所以,如果我在 MongoDB 数据库中查询仅 1 天的数据……我会得到 10,800 个数据点。更糟糕的是,如果我要 1 个月的数据,我会被 324,000 个数据点淹没。我的问题是我的 d3 可视化在处理超过 1000 个点时会变慢(我 m 在四个不同的图表上可视化数据,每个图表使用一个画笔来选择图表上的某个域。有没有办法限制我试图可视化的数据量?使用 MongoDB 做得更好吗(所以基本上过滤我正在查询的数据,并且只根据我试图查询的时间值的大小来获取每个第 n 个数据点)。或者,还有更好的方法?检索到整个数据集后,是否应该尝试使用 D3 过滤数据?减少我需要处理的点数的最佳方法是什么?提前致谢。或者,还有更好的方法?检索到整个数据集后,是否应该尝试使用 D3 过滤数据?减少我需要处理的点数的最佳方法是什么?提前致谢。或者,还有更好的方法?检索到整个数据集后,是否应该尝试使用 D3 过滤数据?减少我需要处理的点数的最佳方法是什么?提前致谢。

4

1 回答 1

0

Mongodb 擅长过滤。如果您真的只需要数据的子集,请在find查询中指定 - 这可能会限制为时间子集,或者如果您很聪明,只获取每小时第一分钟或类似的数据。

或者您可以使用聚合框架从字面上减少来自 mongodb 的数据量。这可用于获得部分总和或平均值或类似信息。

于 2013-04-06T05:20:46.060 回答