我有一个Spring restful web服务,我正在尝试保存到名为little-data的数据库,但我的应用程序一直保存到测试数据库。
下面是我的application.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;
}
}
所有请求都可以正常工作,但它们会保存到错误的数据库中。任何帮助,将不胜感激。谢谢
答案 0 :(得分:7)
在您的YAML配置中,请注意host
和port
是孩子 mongodb
而不是与您相同的级别(如果是&# 39;这不是一个错字),像这样:
spring:
data:
mongodb:
host: 127.0.0.1
port: 27017
database: little-data
答案 1 :(得分:1)
您使用个人资料吗?一个可能的application.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所说,要小心缩进。