时间序列集合
此版本的文档已存档,不再提供支持。 查看 最新文档,学习;了解如何升级您的Java驱动程序版本。
Overview
在本指南中,您可以了解 MongoDB 中的时间序列集合,以及如何在 MongoDB Java 驱动程序中与之交互。
时间序列集合可有效存储一段时间内的测量序列。 时间序列数据包括随时间推移收集的任何数据、描述测量的元数据以及测量时间。
例子 | 测量 | Metadata |
---|---|---|
销售数据 | 收入 | 公司 |
感染率 | 感染人数 | 地点 |
创建时间序列集合
要创建时间序列集合,请将以下参数传递给 createCollection() 方法:
要创建的新集合的名称
TimeSeriesOptions 用于在 CreateCollectionOptions 中创建集合 对象
MongoDatabase database = mongoClient.getDatabase("fall_weather"); TimeSeriesOptions tsOptions = new TimeSeriesOptions("temperature"); CreateCollectionOptions collOptions = new CreateCollectionOptions().timeSeriesOptions(tsOptions); database.createCollection("september2021", collOptions);
重要
MongoDB 5.0之前的版本无法创建时间序列集合。
要检查是否已成功创建集合,请将"listCollections"
命令发送到 runCommand() 方法。
Document commandResult = database.runCommand(new Document("listCollections", new BsonInt64(1))); List<String> keys = Arrays.asList("cursor"); System.out.println("listCollections: " + commandResult.getEmbedded(keys, Document.class).toJson());
输出应如下所示:
{ "id": <some number>, "ns": "<db name>.$cmd.listCollections", "firstBatch": [ { "name": "<time series collection name>", "type": "timeseries", "options": { "expireAfterSeconds": <some number>, "timeseries": { ... } }, ... }, ... ] }
查询时间序列集合
要在时间序列集合中进行查询,请使用与检索和聚合数据相同的约定。