Javascript 在MongoDB聚合框架中使用$avg函数似乎不会改变返回值
我确信我遗漏了一些相对明显的东西。基本上,尽管使用了$avg和$sum:1函数,但这两个查询返回的结果完全相同。据我所知,第一个查询应该返回先前分组的行计数的平均值Javascript 在MongoDB聚合框架中使用$avg函数似乎不会改变返回值,javascript,mongodb,database,nosql,Javascript,Mongodb,Database,Nosql,我确信我遗漏了一些相对明显的东西。基本上,尽管使用了$avg和$sum:1函数,但这两个查询返回的结果完全相同。据我所知,第一个查询应该返回先前分组的行计数的平均值 db.bbservicedata.aggregate( { $match:{"accesstime" : {"$gte" : ISODate('2012-02-09T01:45:32.962Z') }} }, { $match:{"requestModel.serviceName" : "ContentItem
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}}
);
任何帮助都将不胜感激,提前感谢 您的第二个
$group
使用了与第一个相同的\u id
术语,因此每个\u id
始终有一个文档。在这种情况下,$avg
总是等于$sum