无法从 ReactiveCouchbaseRepository 中删除项目

Unable to delete item from ReactiveCouchbaseRepository

使用 Spring 数据和 Reactive Couchbase 开发我的第一个应用程序,但在存储库操作方面遇到问题。我可以在我的 UserRepository 中创建一个用户,并可以通过 ID 或名称检索它,但不能删除它。 deleteAll() 也不起作用。

@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "user")
interface UserRepository extends ReactiveCouchbaseRepository<User, String> {
    Flux<User> findByName(String name)
}

@Service
class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository

    Mono<User> save(User user) {
        return userRepository.save(user)
    }

    Mono<Void> delete(User user) {
        return userRepository.delete(user)
    }

    Mono<User> findById(String id) {
        return userRepository.findById(id)
    }

    Flux<User> findByName(String name) {
        return userRepository.findByName(name)
    }

}

class UserServiceTest extends ApplicationTests {

    @Autowired
    private UserService userService

    @Test
    void testSave() {
        User user = new User(null, 'name')
        User savedUser = userService.save(user).block()

        List<User> allUsers = userRepository.findAll().collectList().block()
        assert allUsers.size() == 1

        userService.delete(allUsers.first())
        allUsers = userRepository.findAll().collectList().block()
        assert allUsers.size() == 0 // fails here
    }

}

您只是忘记了 subscribe()(或 block())删除 Mono<Void>