我有以下kotlin方法,该方法当前使用一个非反应式mongodb存储库(弹簧数据),该存储库返回一个列表。
fun register(userRegistration: UserRegistration) {
val existing = userRepository.findByTokenOrUserId(userRegistration.devicetoken,userRegistration.userId)
var alreadyRegistered = false
if (existing.isnotEmpty()) {
existing.forEach {
if (!isAlreadyRegistered(it,userRegistration)) {
userRepository.delete(it)
} else {
alreadyRegistered = true
}
}
}
if (!alreadyRegistered) {
val pnUser = PnUser(userRegistration.userId,userRegistration.devicetoken,userRegistration.region,userRegistration.locale,userRegistration.deviceType,userRegistration.osVersion,userRegistration.appVersion,userRegistration.timezone)
userRepository.save(pnUser)
}
}
如果userRepository.findByTokenOrUserId将返回PnUser的流量而不是List,我如何以一种优雅的方式具有相同的行为?
谢谢