我有一个 mongo 集合,其中有一个名为role
. 特别是该字段将始终填充以下三个选项之一user
:admin
或guest
。
这就是我决定创建枚举的原因,以便开发人员更容易使用它,同时将字符串值保留在数据库中。
我试图从我的集合中检索一个文档,期望 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 - Excepción general resolviendo una petición com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: 实例化 [simple type, class com.foo.user.User] JSON 属性角色的值失败,因为缺少(因此为 NULL)创建者参数角色的值,该角色是 [来源:de.undercouch.bson4jackson.io.LittleEndianInputStream@ 3195529c; pos: 275] (通过引用链: com.foo.user.User["Role"])
所以我的问题是:KMongo 是否支持这些术语中的枚举?