Spring 应用程序保存文档以测试 db 而不是自定义 db



我有一个春季休息的Web服务,并正在尝试保存到名为little-data的数据库中,但我的应用程序一直保存到测试数据库中。

以下是我的应用程序.yml文件:

spring:
  data:
    mongodb:
    port: 27017
    uri: mongodb://127.0.0.1/little-data
    repositories:
      enabled: true
    authentication-database: admin

server:
  port: 8090

我也为我的应用程序yaml文件尝试过这个:

spring:
  data:
    mongodb:
    host: 127.0.0.1
    port: 27017
    database: little-data
    repositories:
      enabled: true
    authentication-database: admin

server:
  port: 8090

这是我的帖子模型:

import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Field;
import lombok.*;
@Data
@NoArgsConstructor
@Document(collection = "posts")
public class Post {
    @Id
    @Field("id")
    private int id;
    @Field("gameName")
    private String gameName;
    @Indexed(unique=true)
    @Field("gameGenre")
    private String gameGenre;
    public Post(int id, String game, String genre) {
        this.id = id;
        this.gameName = game;
        this.gameGenre = genre;
    }
}

所有请求都工作正常,但它们保存到错误的数据库中。任何帮助将不胜感激。谢谢

在您的 YAML 配置中,请注意hostportmongodb子级,与您不在同一级别(如果还不是拼写错误(,如下所示:

spring:
    data:
        mongodb:
            host: 127.0.0.1
            port: 27017
            database: little-data

你使用配置文件吗?一个可能的应用程序.yaml可能看起来像这样:

spring:
    profiles:
        active: production
---
spring:
    profiles: development
    data:
        mongodb:
            host: 127.0.0.1
            port: 27017
            database: test-db
---
spring:
    profiles: production
    data:
        mongodb:
            host: 127.0.0.1
            port: 27017
            database: little-data

正如Laabidi Raissi所说,要小心使缩进正确。

最新更新