title: mongodb java driver aggregate group by
body: <p>I am trying to write group by aggregate function using mongodb java driver. </p>
  
  <p>Here's the document structure of database.</p>
  
  <pre><code>{ "_id" : ObjectId("58819bd9f16a7802523bc077"), "Date" : "12/19/2016", "Time" : "4:15:00", "Temperature" : 65.5, "User" : "A", "ThermalComfort" : -1, "settingID" : ObjectId("58819bd6f16a7802523bbdc5") }
  { "_id" : ObjectId("58819bd9f16a7802523bc078"), "Date" : "12/19/2016", "Time" : "4:30:00", "Temperature" : 65.25, "User" : "A", "ThermalComfort" : -1, "settingID" : ObjectId("58819bd6f16a7802523bbdc5") }
  </code></pre>
  
  <p>I would like to group by "Date" and "Time", projecting ThermalComfort only. My expected output is this: {date=12/19/16, time=0:00:00, listOfTC = [2,1]}. listOfTC is a list made of each readings in Array: (e.g. [-1,-1]) </p>
  
  <p>Here's the code that I wrote.</p>
  
  <pre><code>AggregateIterable&lt;Document&gt; iterable = themalComfortProfileCollection.aggregate(Arrays.asList(
              new Document("$group", new Document("_id", "$Date" + "$Time").append("count", new Document("$sum", 1))),
              new Document("$project", new Document("comfortIndex", "$ThermalComfort"))));
  </code></pre>
  
  <p>However, if I print out document, I am getting null document. </p>
  
  <pre><code>for (Document doc : iterable) {
      System.out.println(doc);
  }
  
  Document{{_id=null}}
  </code></pre>
  
  <p>Could you explain which part is wrong?</p>