MongoDB Java驱动程序清楚地说明了如何监视集合并启动/打开更改流,该更改流是ChangeStreamIterable:
http://mongodb.github.io/mongo-java-driver/3.9/driver/tutorials/change-streams/
MongoClient mongoClient = MongoClients.create(new ConnectionString("mongodb://localhost:27017,localhost:27018,localhost:27019"));
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("restaurants");
collection.watch().forEach(printBlock);
但是没有关闭更改流的说明,API似乎也不支持关闭操作。
为什么不可能?是没有必要还是仅仅是疏忽?
适用于所有版本的标准,异步和反应驱动程序。
答案 0 :(得分:2)
您可以从ChangeStreamIterable中获取一个可关闭的光标。
MongoCursor<ChangeStreamDocument<Document>> cursor = collection.watch().iterator();
cursor.close();