mongodbjava驱动程序通过pojoMap以类型安全的方式查找文档列表

iyr7buue  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(360)

我有一堆 Document 在一个 Collection 我想把它们全部取回。这是我的情况:
我使用的是javaReact流驱动程序
我用的是 CodecRegistry 去拿我的 Document 反序列化到我的 Pojo 问题是所有的味道 find() 方法返回 FindPublisher<Pojo> 毋庸置疑,任何一种价值的释放都会导致价值的回归 Pojo 对象。我想要一个 List<Pojo> 或者 Set<Pojo> 返回。我怎么退票 List<Pojo 或者 Set<Pojo> ?
在快速启动中,他们使用 find().first() 返回一个 Document 因此只有一个 Pojo 对象是有意义的。没有返回多个 Document .

5kgi1eie

5kgi1eie1#

使用mongodb reactive streams driver和rxjava,例如:

Publisher<Document> publisher = collection.find();
List<Document> docs = Flowable.fromPublisher(publisher)
                              .blockingStream()
                              .collect(Collectors.toList());

[编辑添加]您可以使用非阻塞呼叫,例如:

List<Document> docs = new ArrayList<>();
Observable.fromPublisher(publisher).subscribe(doc -> docs.add(doc));

相关问题