kotlin - Mongo 和 Kotlin 的委托问题
问题描述
我最近一直在使用Kmongo 库和 Kotlin,但是我在 Kmongo 上提出了一个问题,但我不确定它是否与库有关。
我正在尝试将我的数据保存到我的 mongo 数据库(版本 4.2.2)
@Serializable
data class Person(val firstname: String, val lastname: String){
val fullName
get() = "$lastname $firstname"
}
当我插入数据时,我只发送了一个这样的对象:val person = Person("John", "Doe")
但是当我检查我的 mongo 数据库时
db.persons.find()
> { "_id" : ObjectId("5e2da298159243f9894d3834"), "firstname" : "John", "lastname" : "Doe", "fullName" : "Doe John" }
如何防止fullName
保存在我的数据库中?
编辑:
我试图@Transient
在我的变量上使用注释,但它不起作用,并且我收到一条检查消息说:Property does not have backing field which makes it non-serializable and therefore @Transient is redundant
解决方案
这一天,Kmongo 库在后台使用 Jackson,以避免解析我不得不使用的属性:https ://www.concretepage.com/jackson-api/jackson-jsonignore-jsonignoreproperties-and-jsonignoretype
所以我的数据类的代码现在是:
@Serialiable
@JsonIgnoreProperties("fullName")
data class Person(...
推荐阅读
- angularjs - 不允许超过 md-maxlength="200"
- c++ - 为什么 std::function 不能从 lambda 移动构造?
- c# - Npgsql.NpgsqlException: '没有提供密码
- java - 一段时间后从后台恢复时,Android应用布局组件为空
- java - MySQLNonTransientConnectionException:连接关闭后不允许任何操作。
- python - Python中的XOR RGB图像解密
- html - 将鼠标悬停在父 div 上时 CSS 淡化子元素,然后将鼠标悬停在子元素上时再次更改
- vue.js - 从另一个模块访问 vuex 模块状态
- python - 如何将我的 Google Blogger 文件导入 Pelican 而不会出错?
- hyperledger - 超级账本节点的更好做法是什么……?