首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KMongo支持枚举吗?

KMongo支持枚举吗?
EN

Stack Overflow用户
提问于 2019-05-21 10:42:46
回答 1查看 407关注 0票数 3

我有一个mongo集合,其中有一个名为role的字符串字段。特别是该字段将始终填充以下三个选项之一:useradminguest

这就是为什么我决定创建一个枚举的原因,这样开发人员就可以更容易地使用它,同时将字符串值保存在数据库中。

我试图从集合中检索文档,希望KMongo能够从String解析到Enum Role,反之亦然。

遗憾的是,KMongo似乎无法做到这一点。

代码语言:javascript
复制
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错误c.p.p.c.SpringWebConfig$simpleMappingExceptionResolver$resolver$1 - Excepción通用解决方案

所以我的问题是: KMongo在这些术语中支持枚举吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-13 08:11:28

所以我终于找到了解决问题的办法。使用Jackson注解库,我可以以我需要的方式序列化和反序列化枚举。在我的例子中,我选择将它们作为String使用,以便KMongo知道如何使用它们。

代码语言:javascript
复制
@JsonFormat(shape = JsonFormat.Shape.STRING)
enum class Role {
    user,
    admin,
    guest
}

现在,我可以将属性声明为枚举类型,以便KMongo知道如何处理它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56236559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档