私が見逃していることは比較的明白なことだと確信しています。基本的に、これら2つのクエリは、$avg関数と$sum:1関数を使用しているにもかかわらず、まったく同じ結果を返します。最初のクエリは、以前にグループ化された行数の平均を返す必要があると私は理解しています。
db.bbservicedata.aggregate(
{
$match:{"accesstime" : {"$gte" : ISODate('2012-02-09T01:45:32.962Z') }}
},
{
$match:{"requestModel.serviceName" : "ContentItem"}},
{
$unwind: "$requestModel.methodParams.ContentItemLoggingListModel.items"},
{
$group: {
_id:{
myYear:{$year:"$accesstime"},
myMonth:{$month:"$accesstime"},
myDay:{$dayOfMonth:"$accesstime"}},
count:{$sum:1}}},
{
$group: {
_id: {
year: "$_id.myYear",
month: "$_id.myMonth",
day: "$_id.myDay"},
averagecount : {$avg : "$count"}}},
//{averagecount : {$sum: "$count"}}}***, -- Returns the same result*
{$sort: {averagecount:-1}}
);
よろしくお願いします。