【发布时间】:2020-10-26 09:11:19
【问题描述】:
我正在将 Morphia 升级到版本 2.0.0(当前为 1.3.2),我在删除此代码 sn-p 的已弃用 createQuery 方法时遇到问题,因为我需要进行元素匹配
val builder = BasicDBObjectBuilder.start()
.add("items", BasicDBObject("\$elemMatch", BasicDBObject("\$and", arrayOf(
BasicDBObject("shipments.correlations.id", pickupId),
BasicDBObject("status.value", BasicDBObject("\$in", ItemStatus.values().filter {
it.value != ItemStatus.SHIPPED.value
}.map { it.value }))
))))
if (excludeOrdersIds.count() > 0) {
builder.add("id", BasicDBObject("\$nin", excludeOrdersIds))
}
return morphia.createQuery(Order::class.java, builder.get()).asList(FindOptions().limit(limit))
在 2.0.0 版中,我找不到让我进行 elem 匹配或让我使用 Mongo 驱动程序 BasicDBObjectBuilder 返回的 DBObject 的方法,就像我在这段代码 sn-p 中所做的那样。
有什么建议吗?
【问题讨论】:
标签: java mongodb kotlin morphia