我有一个春季休息的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 配置中,请注意host
和port
是 mongodb
的子级,与您不在同一级别(如果还不是拼写错误(,如下所示:
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所说,要小心使缩进正确。