日期添加的MongoDB聚合时区

日期添加的MongoDB聚合时区,mongodb,timezone,Mongodb,Timezone,我有一个问题,MongoDB的时区集合是UTC。我已经从许多其他现有问题中寻找解决方案,但它仍然不起作用。我的代码如下: MongoDB版本:2.2 资料 错误消息: "errmsg" : "exception: $add does not support dates" 参考文献 我建议先作为一个项目,然后作为一个小组,分两步进行 var millisecondsFromUTC = 8 * 60 * 60 * 1000; //PST is -8 hours from UTC db.Produ

我有一个问题,MongoDB的时区集合是UTC。我已经从许多其他现有问题中寻找解决方案,但它仍然不起作用。我的代码如下:

MongoDB版本:2.2

资料

错误消息:

"errmsg" : "exception: $add does not support dates"
参考文献

我建议先作为一个项目,然后作为一个小组,分两步进行

var millisecondsFromUTC = 8 * 60 * 60 * 1000; //PST is -8 hours from UTC

db.Product.aggregate([
    { $project : { 
        consumeDateLocal: {
            $subtract : [ "$Counting.consumeDate", millisecondsFromUTC ] 
        },
        fee: '$Counting.fee"  } },
    { $group: {
        _id: {
            "tyear": { $year: "$consumeDateLocal" },
            "tMonth": { "$month": "$consumeDateLocal" },                
            "tDate": { "$dayOfMonth": "consumeDateLocal" }
        },
        count: {
            $sum: "$fee"
        }
    } } ], ...);
我是这样做的

millisecondsFromUTC = 8 * 3600 * 1000
Db.collection.aggreagte([
  {$match: query},
  {
    $group: {
    _id:  {
      $dateToString: {
         format: "%Y-%m-%d", 
         date: {$add: ["$date", millisecondsFromUTC]}
    },
    click: {$sum: '$click'},
    money: {$sum: {$divide: ['$money', 10000]}},
    pv: {$sum: '$pv'},
    req: {$sum: '$req'},
    date: {$last: '$date'}
  }
}]
millisecondsFromUTC = 8 * 3600 * 1000
Db.collection.aggreagte([
  {$match: query},
  {
    $group: {
    _id:  {
      $dateToString: {
         format: "%Y-%m-%d", 
         date: {$add: ["$date", millisecondsFromUTC]}
    },
    click: {$sum: '$click'},
    money: {$sum: {$divide: ['$money', 10000]}},
    pv: {$sum: '$pv'},
    req: {$sum: '$req'},
    date: {$last: '$date'}
  }
}]