У меня есть коллекция монго, в которой есть поле String с именем role
.В частности, это поле всегда будет заполнено одним из этих трех параметров: user
, admin
или guest
.
. Именно поэтому я решил создать перечисление, чтобы облегчить егоразработчики работают с ним, сохраняя значение String в базе данных.
Я пытался получить документ из моей коллекции, ожидая, что KMongo сможет выполнить синтаксический анализ от String до Enum Role
и наоборот.
К сожалению, KMongo, похоже, не в состоянии это сделать.
data class User(var role: Role, // 0 user, 1 admin, 2 guest
var email: String,
var password: String)
enum class Role{
user,
admin,
guest
}
Когда я попытался найти документ по его _id
, я получил это сообщение:
2019-05-21 11:39:01 [http-nio-8080-exec-1] ОШИБКА cppcSpringWebConfig $ simpleMappingExceptionResolver $ resolver $ 1 - Исключение - общее разрешение, исключающее возможность получения com.fasterxml.jackson.mostan.kotlin.MisstiK of ofment:Значение [простой тип, класс com.foo.user.User] для роли свойства JSON не выполнено из-за отсутствия (поэтому NULL) значения для роли параметра создателя, которая является ненулевым типом в [Source: de.undercouch.bson4jackson.io.LittleEndianInputStream@3195529c;pos: 275] (через цепочку ссылок: com.foo.user.User ["Role"])
Итак, мой вопрос: поддерживает ли KMongo перечисления в этих терминах?