我正在尝试使用React式mongodb来获取数据流 application/stream+json
.
控制器:
@GetMapping(value = "/findAll", produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<Author> findAll() {
Flux<Author> flux = repository.findAll();
return flux.delayElements(Duration.ofMillis(500));
}
@GetMapping("/insertAuthor")
public Flux<Author> insertAuthor() {
Author author= new Author("Some Author name", "Book name", new Date(), "A");
Author author1 = new Author("Some other Author name", "Another Book name", new Date(), "A");
List<Author> list = new ArrayList<Author>();
list.add(author);
list.add(author1);
Flux<Author> flux = repository.saveAll(list);
flux.subscribe();
return flux;
}
因此,在插入一些作者之后,我们可以在浏览器上以500毫秒的延迟获取数据。但是假设我们已经插入了100个作者并调用findall endpoint,这将花费大约50秒在浏览器上显示所有作者。如果我再插入几个author,findall将不会显示它,尽管它仍在处理现有记录。
当数据流显示在浏览器上时,是否有任何方法可以从被动mongo存储库中获取最近插入的记录。
暂无答案!
目前还没有任何答案,快来回答吧!