Skip to content
广告❤️成为赞助商

自动创建时序集合

使用注解的形式,自动创建时序集合,省去手动创建时间

配置

  • 使用MongoPlus的自动创建时序集合功能,只需开启自动创建时序集合配置即可
yaml
mongo-plus:
    configuration:
        auto-create-time-series: true #开启自动创建时序集合功能

注解

@TimeSeries

  • 注解式时序集合自动创建
  • 通过该注解,可以将指定实体类标注为时序集合
  • 可以和@CollectionName注解互动,使用该注解配置的集合名称和数据库属性
属性类型必须指定默认值描述
dataSourceString当前上下文数据源,指定时间序列所在的数据源
timeFieldString包含每个时间序列文档中的日期的字段的名称
metaFieldString""包含每个时间序列文档中的元数据的字段的名称
granularityTimeSeriesGranularitySECONDS指定时间序列的粒度
bucketMaxSpanlong-1设置存储桶中测量之间的最大时间跨度,以秒为单位
bucketRoundinglong-1设置存储桶中测量之间的最大时间跨度,以秒为单位

示例

java
@TimeSeries(timeField = "$ts",metaField = "testMeta",granularity = TimeSeriesGranularity.SECONDS)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MongoPlus {

    @ID
    private String id;

    @CollectionField("ts_test")
    private LocalDateTime ts;

    private Map<String,Object> testMeta;

    private String name;
}

timeFieldmetaField属性可使用{@code $}标识,该操作将会字段值查找类中的该字段,不存在则直接返回该值,如

  • @TimeSeries(metaField="$field1"})