问题描述
我正在尝试使用类似于 H2 数据库的 Spring Boot 在内存中配置嵌入式 Mongo 数据库。 Spring Mongo 有没有可用的选项?
解决方法
您可以使用以下依赖项创建 In-memory mongodb-server
<dependency>
<groupId>de.bwaldvogel</groupId>
<artifactId>mongo-java-server</artifactId>
<version>1.38.0</version>
</dependency>
然后在配置类中声明mongo客户端
@Override
public MongoClient mongoClient() {
MongoServer server = new MongoServer(new MemoryBackend());
// bind on a random local port
InetSocketAddress serverAddress = server.bind();
return mongoClient=MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder ->
builder.hosts(Arrays.asList(new ServerAddress(serverAddress))))
.build());
}