mongodb - Kotlin KMongo 库嵌套查询不起作用
问题描述
如果使用嵌套属性查询,这总是返回null,我不知道为什么,只是关注官方网站文档文档链接
database.getCollection<User>().findOne(User::auth / Auth::ssaid eq p.ssaid, User::auth / Auth::password eq p.password)
没有嵌套属性查询一切都很好。
database.getCollection<User>().findOne(User::lastlogin eq p.lastlogin)
模型类代码
data class Auth(val password: String, val ssaid: String, val localLastLogin: String)
data class User(
@BsonProperty(useDiscriminator = true) val auth: Auth,
val lastLogin: String = Instant.now().toString(),
val members: List<Member> = emptyList(),
val channels: List<Channel> = emptyList()
) : Data()
解决方案
您需要@field:BsonProperty
按如下方式使用:
data class User(
@field:BsonProperty(useDiscriminator = true) val auth: Auth,
val lastLogin: String = Instant.now().toString(),
val members: List<Member> = emptyList(),
val channels: List<Channel> = emptyList()
) : Data()
原因是从相应的 Kotlin 元素生成了多个 Java 元素,因此在生成的 Java 字节码中有多个可能的注释位置。因此,您需要明确说明它。更多细节在这里。
推荐阅读
- ios - AVPlayer 不通知错误
- c# - 如何调用需要身份验证的 Web 服务
- r - 当我想在 R 中安装软件包时,我收到此警告
- jhipster - JHipster 7.1.0 API 网关不工作
- git - 是否有可能在 Git 中恢复提交和推送文件?
- r - 在 RJDemetra 中提取内部日历回归量
- python - 条件累积计数熊猫,同时在第一次更改之前保留值
- asp.net-core-mvc - 配置不会从 ASP NET Core MVC 6.0 lts 中的 secrets.json 文件中选择连接字符串
- discord.js - 无法弄清楚为什么我找不到会员姓名和姓名频道
- python - 使用python从文件夹中的多个文本文件中提取特定值并将其存储在Excel工作表中