每月以 mongodb "exception: can't convert from BSON type EOO to Date" 聚合



这是我的文档:

{ "_id" : "ea:site:1000000_cate:-1:date:2014-05-12", 
"dateTime" : ISODate("2014-05-11T17:00:00Z"), 
"site" : 1000000, 
"category" : -1, 
"visit" : 8619007, 
"pageview" : 34190331, 
"timespan" : NumberLong(479), 
"uniqueVisit" : 3581170, 
"pagePerVisit" : 3.9668526780405213, 
"bounceRate" : 48.43801758071321, 
"newVisit" : 12.231621858238226, 
"timeType" : 2 
}

下面是我的查询:

db.getCollection("eclick.analytics.1000000.-1").aggregate(
    { "$match" : { "site" : 1000000 , "category" : -1 }}, 
    { "$project" : { "_id" : 1 , 
                     "pageview" : 1 , 
                     "visit" : 1 , 
                     "uniqueVisit" : 1 , 
                     "timespan" : 1 , 
                     "pagePerVisit" : 1 , 
                     "bounceRate" : 1 , 
                     "newVisit" : 1}}, 
    { "$group" : { "_id" : { "$month" : ISODate($dateTime)} , 
                   "pageview" : { "$sum" : "$pageview"} , 
                   "visit" : { "$sum" : "$visit"} , 
                   "uniqueVisit" : { "$sum" : "$uniqueVisit"} , 
                   "timespan" : { "$avg" : "$timespan"} , 
                   "pagePerVisit" : { "$avg" : "$pagePerVisit"} , 
                   "bounceRate" : { "$avg" : "$bounceRate"} , 
                   "newVisit" : { "$avg" : "$newVisit"}}});

,

Tue May 27 15:38:37.660 ReferenceError: $dateTime is not defined

,

db.getCollection("eclick.analytics.1000000.-1").aggregate(
    { "$match" : { "site" : 1000000 , "category" : -1 }}, 
    { "$project" : { "_id" : 1 , 
                     "pageview" : 1 , 
                     "visit" : 1 , 
                     "uniqueVisit" : 1 , 
                     "timespan" : 1 , 
                     "pagePerVisit" : 1 , 
                     "bounceRate" : 1 , 
                     "newVisit" : 1}}, 
    { "$group" : { "_id" : { "$month" : "$dateTime"} , 
                   "pageview" : { "$sum" : "$pageview"} , 
                   "visit" : { "$sum" : "$visit"} , 
                   "uniqueVisit" : { "$sum" : "$uniqueVisit"} , 
                   "timespan" : { "$avg" : "$timespan"} , 
                   "pagePerVisit" : { "$avg" : "$pagePerVisit"} , 
                   "bounceRate" : { "$avg" : "$bounceRate"} , 
                   "newVisit" : { "$avg" : "$newVisit"}}});

,

Error: Printing Stack Trace
    at printStackTrace (src/mongo/shell/utils.js:37:15)
    at DBCollection.aggregate (src/mongo/shell/collection.js:897:9)
    at (shell):1:49
Tue May 27 15:38:44.100 aggregate failed: {
    "errmsg" : "exception: can't convert from BSON type EOO to Date",
    "code" : 16006,
    "ok" : 0
} at src/mongo/shell/collection.js:898
你对这个问题有什么想法吗?由于

您从projection中排除了$dateTime字段,因此在$group阶段您没有它。

相关内容

  • 没有找到相关文章

最新更新