【发布时间】:2017-10-28 11:33:08
【问题描述】:
我正在构建 mongodb 对象并将其传递给 mongo 存储库的 findAll 方法。
如何通过围绕所有这些字段设计索引来获得更快的性能?
val criteriaQuery = MongoDBObject.newBuilder
criteriaQuery += OrderNames.CLIENT_ID -> clientId
if (StringUtils.isNotBlank(orderId))
criteriaQuery += OrderNames.ORDER_ID -> orderId
if (StringUtils.isNoneBlank(customerEmail))
criteriaQuery += OrderNames.CUSTOMER_EMAIL -> customerEmail
if (orderStartDate != null) {
if (orderEndDate != null)
criteriaQuery += OrderNames.ORDER_DATE -> MongoDBObject("$gte" -> orderStartDate, "$lte" -> orderEndDate)
else
criteriaQuery += OrderNames.ORDER_DATE -> MongoDBObject("$gte" -> orderStartDate)
}
else if(orderEndDate != null)
criteriaQuery += OrderNames.ORDER_DATE -> MongoDBObject("$lte" -> orderEndDate)
return criteriaQuery.result
我的问题是: 如果我在标准中有 a、b、c、d、e、f。 如果我在 (a, b, c, d, e, f) 上创建索引
它适用于 (a,c,d,e,f) , (a, c), (a, e, f), (a,c, f)) 等吗? 我需要考虑所有这些吗?
【问题讨论】:
标签: mongodb scala playframework mongodb-query