文档菜单
文档首页
/ / /
Rust 驱动程序
/

时间序列集合

本页内容

  • 概述
  • 创建时间序列集合
  • 示例
  • 查询时间序列集合
  • 更多信息
  • API 文档

在本指南中,您可以了解如何使用Rust驱动程序创建和交互时间序列集合。时间序列集合能够高效地存储一段时间内测量的时间序列。时间序列集合中的每个文档包含以下信息:

  • 随时间测量的数量

  • 描述测量的元数据

  • 测量的时间戳

以下表格描述了可以在时间序列集合中存储的一些数据示例。每一行描述了情况、测量的数量以及每个文档中的元数据:

情况
测量的数量
元数据
按行业记录月度销售额
美元收入
公司,国家
追踪天气变化
降水水平
位置,传感器类型
记录房价波动
每月租金价格
位置,货币

本指南包括以下部分:

  • 创建时间序列集合描述了创建时间序列集合的语法并提供示例代码

  • 查询时间序列集合描述了如何对时间序列集合执行操作

  • 附加信息提供了指向资源以及本指南中提到的类型和方法API文档的链接

重要

时间序列集合的服务器版本

要创建和交互时间序列集合,您必须连接到运行MongoDB 5.0或更高版本的部署。

要创建时间序列集合,请执行以下操作:

  1. 创建一个TimeseriesOptions实例,指定时间序列集合的属性。

  2. 调用create_collection()方法并传递集合名称作为参数。

  3. timeseries() 方法链接到 create_collection() 方法。将您的 TimeseriesOptions 实例作为参数传递给 timeseries()

此示例使用以下配置在 precipitation 数据库中创建名为 sept2023 的时间序列集合

  • time_field 设置为 "precipitation_mm"

  • meta_field 设置为 "location"

  • granularity 设置为分钟

let db = client.database("precipitation");
let ts_opts = TimeseriesOptions::builder()
.time_field("precipitation_mm".to_string())
.meta_field(Some("location".to_string()))
.granularity(Some(TimeseriesGranularity::Minutes))
.build();
db.create_collection("sept2023")
.timeseries(ts_opts)
.await?;

要验证您是否成功创建了时间序列集合,请在数据库上运行 list_collections() 方法并打印结果

let mut coll_list = db.list_collections().await?;
while let Some(c) = coll_list.try_next().await? {
println!("{:#?}", c);
}
CollectionSpecification {
name: "sept2023",
collection_type: Timeseries,
options: CreateCollectionOptions {
...
timeseries: Some(
TimeseriesOptions {
time_field: "precipitation_mm",
meta_field: Some(
"location",
),
granularity: Some(
Minutes,
),
},
),
...
},
...
}

您可以使用与在其他集合上执行读取或聚合操作时相同的语法和约定来查询时间序列集合。有关这些操作的更多信息,请参阅 附加信息 部分。

要了解更多关于本指南中提到的概念,请参阅以下服务器手册条目

要了解更多关于创建集合的信息,请参阅《数据库和集合.

要了解更多关于执行读取操作的信息,请参阅读取操作类别中的指南。

要了解更多关于本指南中提到的方法和类型,请参阅以下API文档

返回

事务

© . All rights reserved.