在 couchbase 中阻止 upsert
Blocking upsert in couchbase
我正在编写一个测试,在实际 运行 进行任何测试之前,我需要在我的 couchbase 存储桶中插入一些文档(比方说 10 个)。所以我有一个用 @BeforeAll 注释的方法,它试图打乱这些文档。现在,当我尝试 运行 测试时,测试失败了,因为那时文档还没有持久化。为了等待插入这些文档,我正在做这样的事情 -
Flux.fromIterable(couchDocs)
.map(couchDoc -> bucket.upsert(couchDoc, persistTo)
.collectList()
.block();
但是当我 运行 测试时,我仍然可以看到文档到那时还没有持久化,断言失败了。我在这里遗漏了什么吗?
使用 .flatMap
而不是 .map
。您的内部流没有被订阅。
我正在编写一个测试,在实际 运行 进行任何测试之前,我需要在我的 couchbase 存储桶中插入一些文档(比方说 10 个)。所以我有一个用 @BeforeAll 注释的方法,它试图打乱这些文档。现在,当我尝试 运行 测试时,测试失败了,因为那时文档还没有持久化。为了等待插入这些文档,我正在做这样的事情 -
Flux.fromIterable(couchDocs)
.map(couchDoc -> bucket.upsert(couchDoc, persistTo)
.collectList()
.block();
但是当我 运行 测试时,我仍然可以看到文档到那时还没有持久化,断言失败了。我在这里遗漏了什么吗?
使用 .flatMap
而不是 .map
。您的内部流没有被订阅。