首页 > 解决方案 > 如何将地址与 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 进行比较,始终使用此优先顺序。

标签: mongodbkotlin

解决方案


你可以尝试使用when来做到这一点。就像是:

when(Address::category) {
    is AddressCategory.MAIN -> AddressCategory.MAIN.toString()
    is AddressCategory.DELIVERY -> AddressCategory.DELIVERY.toString()
    is AddressCategory.BILLING -> AddressCategory.BILLING.toString()
}

您将需要填补空白,因为我不完全了解您正在尝试完成的任务,但这可以让您了解如何尝试实现这一点


推荐阅读