MongoDBの新機能で、JavaでmongoJavaDriver.jarを使用しています。選択した日付範囲のfeildによるMongo DB + javaグループ化文書
私のコレクションにはさらに多くの書類がありますが、その一部をサンプルしています。
{
"_id" : ObjectId("57ee4767d782023f80bd4f97"),
"USER_NAME" : "[email protected]",
"LOGIN" : ISODate("2016-09-29T18:30:00Z"),
"LOGOUT" : ISODate("2016-09-30T11:07:19.598Z"),
"LONGITUDE" : "long",
"LATITUDE" : "lat",
"SOURCE" : "Web",
"LAST_UPDATED" : ISODate("2016-09-30T11:07:19.598Z")
}
{
"_id" : ObjectId("57ee4767d782023f80bd4f98"),
"USER_NAME" : "[email protected]",
"LOGIN" : ISODate("2016-09-29T18:30:00Z"),
"LOGOUT" : ISODate("2016-09-30T11:07:19.601Z"),
"LONGITUDE" : "long",
"LATITUDE" : "lat",
"SOURCE" : "Web",
"LAST_UPDATED" : ISODate("2016-09-30T11:07:19.601Z")
}
{
"_id" : ObjectId("57ee4767d782023f80bd4f99"),
"USER_NAME" : "[email protected]",
"LOGIN" : ISODate("2016-09-29T18:30:00Z"),
"LOGOUT" : ISODate("2016-09-30T11:07:19.603Z"),
"LONGITUDE" : "long",
"LATITUDE" : "lat",
"SOURCE" : "Web",
"LAST_UPDATED" : ISODate("2016-09-30T11:07:19.603Z")
}
{
"_id" : ObjectId("57ee4767d782023f80bd4f9e"),
"USER_NAME" : "[email protected]",
"LOGIN" : ISODate("2016-09-29T18:30:00Z"),
"LOGOUT" : ISODate("2016-09-30T11:07:19.608Z"),
"LONGITUDE" : "long",
"LATITUDE" : "lat",
"SOURCE" : "Web",
"LAST_UPDATED" : ISODate("2016-09-30T11:07:19.608Z")
}
{
"_id" : ObjectId("57ee4767d782023f80bd4f9f"),
"USER_NAME" : "[email protected]",
"LOGIN" : ISODate("2016-09-29T18:30:00Z"),
"LOGOUT" : ISODate("2016-09-30T11:07:19.609Z"),
"LONGITUDE" : "long",
"LATITUDE" : "lat",
"SOURCE" : "Web",
"LAST_UPDATED" : ISODate("2016-09-30T11:07:19.609Z")
}
クエリを実行して、選択した日付範囲のドキュメントを検索でき、値を返します。
マイコード:
Date current = new Date();
Date current2 = new Date(current .getYear(), current.getMonth(), current.getDate()-days);
current2.setHours(0);
current2.setMinutes(0);
BasicDBObject dateRange = new BasicDBObject ("$gte",current2);
dateRange.put("$lt", new Date(current.getYear(), current.getMonth(), current.getDate()+1));
BasicDBObject query = new BasicDBObject("LAST_UPDATED", dateRange);
System.out.println(collection.find().count());
System.out.println(collection.find(query).count());
総文書は、このコレクションでカウントが選択された日付に基づいて155
Countはこれらの選択された37枚の文書には37
されている、冗長な値がありますユーザー名でUSER_NAME
フィールドに基づいてグループ化したいと思います。このカウントは37未満になるでしょう。私はそれをどのようにすることができますか?
ありがとうございます、期待通りに動作します。 –