Spring Boot Mongo反应性无法看到findAll

时间:2019-05-30 06:34:08

标签: java mongodb spring-boot spring-data-mongodb

我正在使用
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);

不确定我是否缺少东西,但无法获取任何结果。

0 个答案:

没有答案