Vertx Java - 如何使用复合未来使用 mongoclient 更新多个文档



我正在尝试使用 vertx mongodb 客户端更新我的 vertx 微服务中的多个文档。我正在尝试使用复合期货。我希望在所有文件更新后回复。

private static void replaceQuestion(JsonObject query, Handler<AsyncResult<Boolean>> handler) {
		Mongo.getInstance().getClient().replaceOne("questions", query, updateRes -> {
			if (updateRes.succeeded()) {
				handler.handle(Future.succeededFuture(true));
			} else {
				handler.handle(Future.failedFuture(deleteRes.cause()));
			}
		});
	}

我想让这个方法返回一个可以添加到复合未来的 Future 对象。

谁能帮忙?!

您需要创建一个Future并使用 Future.completer 方法:

private static Future<Boolean> replaceQuestion(JsonObject query) {
    Future<Boolean> future = Future.future();
    Mongo.getInstance().getClient().replaceOne("questions", query, future.completer());
    return future;
}

更多详细信息,请参阅 Vert.x 文档的"并发合成"一章。

最新更新