Aggregation.newAggregation( // match筛选 Aggregation.match(Criteria.where(dbCaseDetailDto.getTableFieldName()).ne(null)), // sort排序 Aggregation.sort(Sort.Direction.DESC, MongoConstants.REC_CREATE_TIME), // limit限制文档数量 Aggregation.limit(5), // group分组 Aggregation.group().avg(dbCaseDetailDto.getTableFieldName()).as(dbCaseDetailDto.getTableFieldName()));mongoTemplate.aggregate(aggregation, siteEquipmentWarnDTO.getEquipmentTypeCode(), Document.class).getUniqueMappedResult();上述语句对应的MongoDB语句
时间: 2024-01-02 22:02:37 浏览: 146
IEEE Std 802.1AX-2008 Link Aggregation
对应的MongoDB语句大致如下:
```
db.siteEquipmentWarnDTO.getEquipmentTypeCode().aggregate([
{ $match: { "tableFieldName": { $ne: null } } },
{ $sort: { "recCreateTime": -1 } },
{ $limit: 5 },
{ $group: { _id: null, "tableFieldName": { $avg: "$tableFieldName" } } }
])
```
其中,`siteEquipmentWarnDTO.getEquipmentTypeCode()`表示选择对应的集合,在MongoDB中类似于`db.collectionName`。`$match`用于筛选符合条件的文档,`$sort`用于排序,`$limit`用于限制文档数量,`$group`用于分组聚合操作,`$avg`用于计算平均值。最后,`getUniqueMappedResult()`用于获取聚合结果。
阅读全文