時系列コレクション
Overview
このガイドでは、MongoDB の時系列コレクションと、MongoDB Kotlin ドライバーでそれらを操作する方法を学習できます。
時系列コレクションは一定期間にわたる測定値のシーケンスを効率的に保存します。 時系列データは、一定時間にわたって収集されたデータ、測定を説明するメタデータ、測定時間で構成されています。
例 | 測定値 | Metadata |
---|---|---|
販売データ | 収益 | 会社 |
影響率 | 影響を受けた人口の量 | ロケーション |
時系列コレクションの作成
時系列コレクションを作成するには、次のパラメータを createCollection() メソッドに渡します。
作成する新しいコレクションの名前
TimeseriesOptions 、 CreateCollectionOptions でコレクションを作成するため オブジェクト
val database = mongoClient.getDatabase("fall_weather") val tsOptions = TimeSeriesOptions("temperature") val collOptions = CreateCollectionOptions().timeSeriesOptions(tsOptions) database.createCollection("september2021", collOptions)
重要
MongoDB 5.0より前のバージョンでは時系列コレクションを作成できません。
コレクションが正常に作成されたかどうかを確認するには、"listCollections"
コマンドを runCommand() に 使用して複数のドキュメントを挿入できます。
val commandResult = database.listCollections().toList() .find { it["name"] == "september2021" } println(commandResult?.toJson(JsonWriterSettings.builder().indent(true).build()))
{ "name": "september2021", "type": "timeseries", "options": { "timeseries": { "timeField": "temperature", "granularity": "seconds", "bucketMaxSpanSeconds": 3600 } }, "info": { "readOnly": false } }
時系列コレクションをクエリする
時系列コレクションでクエリするには、 がデータを取得して集計するのと同じ規則を使用します。
注意
ウィンドウ関数
MongoDB バージョン 5.0 では、集計パイプラインにウィンドウ関数が導入されています。 ウィンドウ関数を使用して、時系列データの連続した範囲に対して操作を実行できます。
詳細については、集計ビルダ のガイドをご覧ください。