无法从 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>
使用 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>