All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.anwen.mongo.annotation.collection.TimeSeries Maven / Gradle / Ivy

There is a newer version: 2.1.5
Show newest version
package com.anwen.mongo.annotation.collection;

import com.mongodb.client.model.TimeSeriesGranularity;

import java.lang.annotation.*;

/**
 * 指定为时间序列集合
 * @author anwen
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface TimeSeries {

    /**
     * 数据源,指定时间序列所在的数据源
     * @date 2024/8/27 01:35
     */
    String dataSource() default "";

    /**
     * 包含每个时间序列文档中的日期的字段的名称
     * 

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

*

* {@code @TimeSeries("$field1"})} *

* @date 2024/8/27 01:23 */ String timeField(); /** * 包含每个时间序列文档中的元数据的字段的名称 *

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

*

* {@code @TimeSeries(metaField="$field1"})} *

* @date 2024/8/27 01:23 */ String metaField() default ""; /** * 指定时间序列的粒度 * @date 2024/8/27 01:23 */ TimeSeriesGranularity granularity() default TimeSeriesGranularity.SECONDS; /** * 设置存储桶中测量之间的最大时间跨度,以秒为单位 * @date 2024/8/27 01:30 */ long bucketMaxSpan() default -1; /** * 指定确定新存储桶的起始时间戳的时间间隔,以秒为单位 * @date 2024/8/27 01:31 */ long bucketRounding() default -1; /** * 指定文档过期的秒数 * @date 2024/8/27 16:00 */ long expireAfter() default -1; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy