我需要在两个单独的mongodb(属于同一集群的一部分)上具有两个changestream,但是我看到的是watch()阻止了调用。 watch()之后的任何指令都不会执行。如何在同一代码流中再打开一个变更流? 我有示例代码
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
MongoClient mclient = new MongoClient(uri);
final MongoDatabase db = mclient.getDatabase("testdb");
MongoCollection<Document> infoCollection = db.getCollection("info");
Consumer<ChangeStreamDocument<Document>> fetchchange = t -> {
assert t.getFullDocument() != null;
System.out.println("forEach anonymous class Value::" + t.getFullDocument().get("docu_id"));
};
infoCollection.watch().fullDocument(FullDocument.UPDATE_LOOKUP).forEach(fetchchange);
我读到有一种叫做“反应性驱动程序”(异步驱动程序)的东西。这是解决这个问题的方法吗? 任何例子都会很有帮助