私はタイムスタンプ付きのログセットを持っており、存在しない「仮想セッション」によってそのログをグループ化する必要があります。
前のセッションの最後のログインから最初のログインまでの時間が半時間になると、新しいグループ化されたセッションが開始されます。
たとえば、私たちは、データのセットを次のようしている:それは2つの仮想セッションでグループ化する必要があり
[
{
id: "b4f0d0d7-495b-48db-95bf-d5ac0c8c9e9b"
time: 1461872894322
timestamp: "Apr 28, 2016 7:48:14 PM",
},
{
id: "bf55ca2f-b544-406c-bed6-766a1204683d"
time: 1461872937941
timestamp: "Apr 28, 2016 7:48:57 PM"
},
{
id: "7f2ab420-0434-46f8-9444-6e2ffa73aea8"
time: 1461873088155
timestamp: "Apr 28, 2016 7:51:28 PM"
},
{
id: "dd31124c-0375-454a-acca-c239465a2b22"
time: 1461839257257
timestamp: "Apr 28, 2016 10:27:37 AM"
},
{
id: "a4370974-bfea-408f-aa69-973961e9f058"
time: 1461839281324
timestamp: "Apr 28, 2016 10:28:01 AM"
}
]
を。グループ化の結果、mongo集合$ groupの各グループの最小時間と最大時間を得ることができますが、正しい式を書く方法は?
予想される答えは残念ながら(CTE共通テーブル式のような)前の行にはハンドルがありませんようMongoのクエリでそれを行うための方法はありません
[
{min: 1461872894322, max: 1461873088155},
{min: 1461839257257, max: 1461839281324}
]
これはまさに私がその状況について考えるものです。 – Gugic