mongodb原生查詢語句
db.getCollection('chillerDB').aggregate([
{$match:{'timestamp':{'$gte':1575907200000,'$lte':1575993600000},'regionId':2}},
{'$sample':{'size':49}},
{$group:
{_id:
{'time':'$createTime',
'timestamp':'$timestamp',
'chillerPower':{$sum:'$listChiller.chillerPower'},
'frozenPumPower':{$sum:'$listFrozenPum.frozenPumPower'},
'coolingPumpPower':{$sum:'$listCoolingPump.coolingPumpPower'},
'coolingTowerPower':{$sum:'$listCoolingTower.coolingTowerPower'},
'totalPower':'$totalPower',
}
}
},
{'$sort':{'_id.timestamp':1}},])
Java代碼示例
String tableName = "chillerDB";
String sql = "[{$match:{'timestamp':{'$gte':1575907200000,'$lte':1575993600000},'regionId':2}},{'$sample':{'size':1000}},{$group:{_id:{'time':'$createTime','timestamp':'$timestamp','chillerPower':{$sum:'$listChiller.chillerPower'},'frozenPumPower':{$sum:'$listFrozenPum.frozenPumPower'},'coolingPumpPower':{$sum:'$listCoolingPump.coolingPumpPower'},'coolingTowerPower':{$sum:'$listCoolingTower.coolingTowerPower'},'totalPower':'$totalPower',}}},{'$sort':{'_id.timestamp':1}}]";
List<BasicDBObject> basicDBObjectList = JSONArray.parseArray(sql,BasicDBObject.class);
AggregateIterable<Document> aggregate = mongoTemplate.getDb().getCollection(tableName).aggregate(basicDBObjectList);
MongoCursor<Document> mongoCursor = aggregate.iterator();
List<Document> documentList = new ArrayList<>(1000);
while (mongoCursor.hasNext()){
Document doc = mongoCursor.next();
documentList.add(doc);
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。