1

我正在使用下面的 mongo 查询来获取最高温度。任何人都可以帮助如何使用 BasicDBObject和使用mongo java驱动程序在java中实现DBObject吗?

db.EventLog.aggregate(
   [
     {
       $group:
         {
           _id: "$_id",
           maxInnerTemp: { $max: { $concat : [ "0", "$fields.innerTemp"]}}
         }
     }
   ]
)
4

1 回答 1

0

使用mongo java 聚合,如下代码(未测试):

 // $group operation
 BasicDBList concat = new BasicDBList();
 concat.add("0");
 concat.add("$fields.innerTemp");
 DBObject groupFields = new BasicDBObject("_id", "$_id");
 groupFields.put("maxInnerTemp", new BasicDBObject("$max", new BasicDBObject("$concat", concat)); 
 DBObject group = new BasicDBObject("$group", groupFields);
     // run aggregation
     List < DBObject > pipeline = Arrays.asList(group); AggregationOutput output = collectionName.aggregate(pipeline);
     for (DBObject result: output.results()) {
       System.out.println(result);
     }
于 2015-05-20T12:05:04.107 回答