小さなテストサイトでは、ユーザーが1日に特定のリンクグループを積極的に費やしているほぼ時間を記録したいと思います。すべてのユーザーに Thereofore私はこのような文書を保存クリックします。mongoの時間をソートして合計する
例の文書:
アイデアは、時間によってソートこれらの、ある日のすべての文書をフィルタリングし、時間の連続期間を返すことです{
"routeGroup": "a",
"time": new Date()
}
ユーザーはrouteGroupに費やしています。
例:
次のドキュメント(すでに日でソートされ、時間によってフィルタ)を考える:
は{"routegroup": "a", "time": 11:30:00},
{"routegroup": "a", "time": 11:31:00},
{"routegroup": "a", "time": 11:32:00},
{"routegroup": "b", "time": 11:33:00},
{"routegroup": "b", "time": 11:34:00},
{"routegroup": "a", "time": 11:35:00},
{"routegroup": "b", "time": 11:36:00},
{"routegroup": "a", "time": 11:37:00},
{"routegroup": "a", "time": 11:38:00},
{"routegroup": "a", "time": 11:39:00}
したがって、ユーザーは、第1グループの3分を費やしています「」2分で続きますグループ「b」、グループ「a」の1分など。時間の
これらの期間は秒まで敏感であり、私はその後のようなものを合計して返すしたいと思います:
// total time spend in routeGroups on day x
{"routegroup": "a", "timeTotal": "7:00"},
{"routegroup": "b", "timeTotal": "3:00"}
質問:はこれが可能であるとどのように、もし?
ご協力いただきありがとうございます。
集約フレームワークは、あなたの期待の答え与えることができますマフ
1分ごとに記録されたアイテムがある場合は、必ずグループごとの合計数が必要です。はい?ブラウザのクライアントコードで集約が効率的に行われることを期待しないでください。これはサーバーにとっての仕事であり、問題を単純な意味に分解すると、非常に単純な答えが簡単に見つかります。 –
デモンストレーションのために選んだ分の間隔 - 秒も尊重する必要があります。クエリはサーバー上で実行されます。 – Raggamuffin
@NeilLunnと同様に、ロギング間隔が一定(X分またはX秒)であれば、回答は単なるグループあたりの合計数になります。したがって、ここでの質問は、あなたのイベント間隔が一定または可変である場合です。 – joao