Docs Menu
Docs Home
/ / /
Kotlin Sync ドライバー
/

時系列データ

項目一覧

  • Overview
  • 時系列コレクションの作成
  • 時系列データの保存
  • 時系列データのクエリ
  • 詳細情報

このガイドでは、 Kotlin Sync ドライバー を使用して時系列データを保存し、操作する方法を学習できます。

時系列データは、次のコンポーネントで構成されています。

  • 測定値

  • 測定のタイムスタンプ

  • 測定を説明するメタデータ

次の表では、時系列データを保存できるサンプル状況について説明します。

状況
測定値
Metadata
業種別の月間売上の記録
USD 建てでの収益
会社、国
気象変化の追跡
降量レベル
ロケーション、センサータイプ
家一軒の価格の変動を記録する
月額料金
ロケーション、通貨

重要

時系列コレクション用のサーバー バージョン

時系列コレクションを作成して操作するには、MongoDB Server 5.0以降を実行している配置に接続する必要があります。

時系列データを保存するには、時系列コレクションを作成します。 時系列コレクションを作成するには、次のパラメータを createCollection()メソッドに渡します。

  • 作成する新しいコレクションの名前

  • A CreateCollectionOptions TimeseriesOptions を持つオブジェクト メソッドを使用して設定timeSeriesOptions()

この例では、 timeFieldオプションを"timestamp"フィールドに設定して、 fall_weatherデータベースにoctober2024時系列コレクションを作成します。

val database = mongoClient.getDatabase("fall_weather")
val tsOptions = TimeSeriesOptions("timestamp")
val collectionOptions = CreateCollectionOptions().timeSeriesOptions(tsOptions)
database.createCollection("october2024", collectionOptions)

時系列コレクションが正常に作成されたことを確認するには、データベースでlistCollections()メソッドを実行し、結果を出力します。

val results = database.listCollections()
val jsonSettings = JsonWriterSettings.builder().indent(true).build()
results.forEach { result ->
println(result.toJson(jsonSettings))
}
{
"name": "october2024",
"type": "timeseries",
"options": {
"timeseries": {
"timeField": "temperature",
"granularity": "seconds",
"bucketMaxSpanSeconds": 3600
}
},
"info": {
"readOnly": false
}
}
...

時系列コレクションにデータを挿入するには、 insertOne()またはinsertMany()メソッドを使用し、挿入された各ドキュメントで測定値、タイムスタンプ、メタデータを指定します。

Tip

コレクションにドキュメントを挿入する方法の詳細については、「 ドキュメントの挿入 」ガイドを参照してください。

この例では、ニューヨーク市の温度データを、 時系列コレクションの作成で作成されたoctober2024時系列コレクションに挿入します。 各ドキュメントには、次のフィールドが含まれています。

  • temperature、温度測定値を華氏単位で保存

  • location、場所のメタデータを保存する

  • timestampは、測定コレクションの時間を保存します

val collection = database.getCollection<Document>("october2024")
// Temperature data for October 1, 2024
val temperature1 = Document("temperature", 54)
.append("location", "New York City")
.append("timestamp", Date(1727755200000))
// Temperature data for October 2, 2024
val temperature2 = Document("temperature", 55)
.append("location", "New York City")
.append("timestamp", Date(1727841600000))
collection.insertMany(listOf(temperature1, temperature2))

時系列コレクションに保存されているデータをクエリするには、他のコレクションに対して読み取りまたは集計操作を実行するときに使用するのと同じ構文と規則を使用します。 これらの操作の詳細については、「追加情報」セクションを参照してください。

このガイドで言及されている概念の詳細については、次の MongoDB Server マニュアル エントリを参照してください。

読み取り操作の実行の詳細については、「 MongoDB からのデータの読み取り 」を参照してください。

集計操作の実行の詳細については、「集計によるデータの変換 」ガイドを参照してください。

このガイドで言及されているメソッドについて詳しくは、次のAPIドキュメントを参照してください。

戻る

BSON