我正在使用
openjdk 8
pom.xml包含所有依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
个人文档类
@Document
public class Person {
@Id
private String id;
private String name;
private int age;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
//getter setter
}
反应库
public interface PersonRepository extends ReactiveMongoRepository<Person, String> {
}
用于提供mongo网址的配置。我可以看到此配置,并且可以从应用程序进行连接。
@Configuration
public class MongoReactiveConfig extends AbstractReactiveMongoConfiguration {
Logger logger = LoggerFactory.getLogger(MongoReactiveConfig.class);
@Value("${MONGO_HOST}")
private String mongohost;
@Value("${MONGO_DATABASE}")
private String mongoDatabase;
@Value("${MONGO_USERNAME}")
private String mongoUserName;
@Value("${MONGO_USER_PASSWORD}")
private String mongoPassword;
/**
*
*/
public MongoReactiveConfig() {
// TODO Auto-generated constructor stub
}
@Override
public MongoClient reactiveMongoClient() {
String url="mongodb://"+mongoUserName+":"+mongoPassword+"@"+mongohost+":27017/"+mongoDatabase;
logger.info("dburl "+url);
return MongoClients.create(url);
}
@Override
protected String getDatabaseName() {
return mongoDatabase;
}
}
当我尝试保存文档时,我看不到ID已填写。即使我尝试查找所有我正在清空列表的
personRepository.save(person);
logger.info("after persisting person "+person);
List<Person> result=personRepository.findAll().collectList().block();
logger.info("result for findAll "+result);
不确定我是否缺少东西,但无法获取任何结果。