- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 mongo 集合,其中有一个名为 role
的字符串字段。特别是此字段将始终填充以下三个选项之一:user
、admin
或 guest
。
这就是我决定创建枚举的原因,这样开发人员可以更轻松地使用它,同时将字符串值保留在数据库中。
我尝试从我的集合中检索文档,希望 KMongo 能够从字符串解析为枚举 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] ERROR c.p.p.c.SpringWebConfig$simpleMappingExceptionResolver$resolver$1 - Excepción general resolviendo una petición com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: Instantiation of [simple type, class com.foo.user.User] value failed for JSON property role due to missing (therefore NULL) value for creator parameter role which is a non-nullable type at [Source: de.undercouch.bson4jackson.io.LittleEndianInputStream@3195529c; pos: 275] (through reference chain: com.foo.user.User["Role"])
所以我的问题是:KMongo 是否支持这些术语中的枚举?
最佳答案
所以我终于找到了解决我的问题的方法。使用Jackson Annotations库我可以按照我需要的方式序列化和反序列化我的枚举。就我而言,我选择将它们用作字符串,以便 KMongo 知道如何使用它们。
@JsonFormat(shape = JsonFormat.Shape.STRING)
enum class Role {
user,
admin,
guest
}
现在我可以将我的属性声明为枚举类型,以便 KMongo 知道如何处理它们。
关于mongodb - KMongo 支持枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236559/
我有一个 mongo 集合,其中有一个名为 role 的字符串字段。特别是此字段将始终填充以下三个选项之一:user、admin 或 guest。 这就是我决定创建枚举的原因,这样开发人员可以更轻松地
我只是尝试在 Kotlin 中制作一个干净的虚拟项目来练习,但与 Java 一样,Kotlin 的插入方法也是如此。我认为这将是插入和返回项目的其他方式,而不是发出 2 个请求的旧方式。 fun in
我目前正在使用 KMongo,它非常好。简单易用,语法优美等。 但是我在查询一些我无法弄清楚的数据时遇到了一个问题。我正在过滤某些字段,当我在 Mongo Shell 上运行查询时或 robo 3T它
我在使用 Kotlin 在 Micronaut 中为 MongoDB 配置对象映射时遇到了一些困难。我收到如下错误: Decoding into a 'Asset' failed with the f
我是一名优秀的程序员,十分优秀!