0

私は D3 ビジュアライゼーションに取り組んでおり、幸運にもいくつかの進歩がありました。ただし、問題が発生しました...正直に言うと、それがMongoDBの問題なのかD3の問題なのかわかりません。ご覧のとおり、一連のセンサー ポイントから一連のグラフを作成しようとしています (私の JSON オブジェクトには、タイムスタンプ、光、温度、湿度、モーション検出レベル、または各データポイントが含まれています)。ただし、センサーは 8 秒ごとに MongoDB データベースにデータをアップロードしています。したがって、MongoDB データベースに 1 日分のデータをクエリすると、10,800 のデータポイントが得られます。さらに悪いことに、1 か月分のデータを要求すると、324,000 のデータポイントに圧倒されます。私の問題は、約 1000 を超えるポイントを処理すると、d3 ビジュアライゼーションが遅くなることです (I' m グラフ上の特定のドメインを選択するために 1 つのブラシを使用する 4 つの異なるグラフでデータを視覚化します。視覚化しようとしているデータの量を制限する方法はありますか? これはMongoDBを使用して行う方が良いですか(基本的に、クエリしているデータをフィルタリングし、クエリしようとしている時間値の大きさに基づいてn番目ごとのデータポイントのみを取得します)。それとももっと良い方法がありますか?データセット全体を取得したら、D3 を使用してデータをフィルター処理する必要がありますか? 対処する必要があるポイントの量を減らすための最善の方法は何ですか? 前もって感謝します。それとももっと良い方法がありますか?データセット全体を取得したら、D3 を使用してデータをフィルター処理する必要がありますか? 対処する必要があるポイントの量を減らすための最善の方法は何ですか? 前もって感謝します。それとももっと良い方法がありますか?データセット全体を取得したら、D3 を使用してデータをフィルター処理する必要がありますか? 対処する必要があるポイントの量を減らすための最善の方法は何ですか? 前もって感謝します。

4

1 に答える 1

0

Mongodb はフィルタリングに優れています。本当にデータのサブセットのみが必要な場合は、findクエリでそれを指定します。これは、時間のサブセットに制限される可能性があります。または、賢い場合は、1 時間ごとの最初の 1 分間などのデータのみを取得します。

または、集計フレームワークを使用して、文字通り mongodb から出力されるデータの量を減らすことができます。これは、部分的な合計や平均などを取得するために使用できます。

于 2013-04-06T05:20:46.060 に答える