mongodb - 如何将地址与 Mongo 中的 'eq' 运算符进行比较
问题描述
我正在将 Mongo 与 Kotlin 一起使用,并且正在寻找比较地址类别。
在这种情况下,我有三个地址:
主要、交付和计费
因此,如果一个地址是 MAIN,我想将它与 进行比较AddressCategory.MAIN
,如果不是,则与另一个地址类别进行比较,依此类推。
我是 Kotlin 的初学者,我尝试使用逻辑运算符和三元运算符进行比较,但我做不到。
eq(Address::category, AddressCategory.MAIN.toString()) ,
eq(Address::category, AddressCategory.DELIVERY.toString()),
eq(Address::category, AddressCategory.BILLING.toString())
比较是这样的,如果 MAIN 地址不存在,我将通过 DELIVERY 进行比较,如果它不存在,我通过 BILLING 进行比较,始终使用此优先顺序。
解决方案
你可以尝试使用when
来做到这一点。就像是:
when(Address::category) {
is AddressCategory.MAIN -> AddressCategory.MAIN.toString()
is AddressCategory.DELIVERY -> AddressCategory.DELIVERY.toString()
is AddressCategory.BILLING -> AddressCategory.BILLING.toString()
}
您将需要填补空白,因为我不完全了解您正在尝试完成的任务,但这可以让您了解如何尝试实现这一点
推荐阅读
- c# - EF6:如何创建一个谓词来检查属性是否包含在对象列表的属性中
- kotlin - 我收到此错误“com.example.viewmodelfactory.MainModelFactory 无法转换为 androidx.lifecycle.ViewModel”
- java - 在 tomcat macOS 上部署的 webApp 返回 404
- salesforce - 使用 Docusign 和 Salesforce 的 Vlocity Omniscript
- php - 如何在 laravel 中验证动态行输入
- azure - 在 Azure 中设计数据处理解决方案
- css - MaterialUI 如何为其类定义 CSS?
- sockets - 我可以在 TcpConnections 中检测到来自同一 IP 的不同客户端吗?
- microsoft-graph-api - /teams/{team-id}/channels/{channel-id}/messages 订阅不起作用
- git - 为什么每当我尝试查看内置颤振小部件的代码时,vs code 会显示这么多未跟踪的文件?