spring - Spring Boot Data Mongo Native TimeSeries 集合
问题描述
我正在查看mongo 的最新 spring 数据文档,它指出:
创建从注释派生的时间序列集合
@TimeSeries(collection="weather", timeField = "timestamp")
public class Measurement {
String id;
Instant timestamp;
// ...
}
template.createCollection(Measurement.class);
但是,我在任何 spring 注释中都没有看到 @TimeSeries。他们在这里使用什么依赖项?我正在使用 Spring Boot 框架,是否有可能他们更新了 Spring 数据而不是 Spring Boot 数据?
解决方案
有效的是使用 Spring Boot 包的最新快照来模仿 springframework 文档上的说明。
将快照存储库添加到任何引用快照版本的 pom。
... <repositories> <repository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories>
设置spring boot版本,目前:
<spring.boot.version>2.6.0-SNAPSHOT</spring.boot.version>
设置spring boot starter data mongodb版本,目前:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>2.5.3</version> </dependency>
编辑 - 如果您使用 Spring Cloud,您的应用程序将在运行时在 SNAPSHOT 和 Spring Cloud 之间引发兼容性错误,除非您使用以下内容更新您的 yaml 配置文件:
spring:
cloud:
compatibility-verifier:
enabled: false