【发布时间】:2017-05-05 16:42:20
【问题描述】:
我有一个订单集合,orderLastStatusChangeDatetime、estimatedDeliveryDatetime 和 orderPrice 是订单集合的归档名称。我必须得到 orderPrice 的总和,其中 orderLastStatusChangeDatetime 小于或等于 estimatedDeliveryDatetime 。我已经使用下面的查询来获取总记录...
Criteria criteria = new Criteria() {
@Override
public DBObject getCriteriaObject() {
DBObject obj = new BasicDBObject();
obj.put("$where", "this.orderLastStatusChangeDatetime <= this.estimatedDeliveryDatetime");
return obj;
}
};
Query query = new Query();
query.addCriteria(criteria);
totalOrder = (int) mongoTemplate.count(query,ORDERS_COLLECTION_NAME);
但我必须得到订单价格的总和。我在聚合匹配中使用了相同的标准。但它给出错误“命令失败,错误 16395:'异常:$where 不允许在 $match 聚合表达式中'”
【问题讨论】:
标签: spring mongodb spring-data-mongodb