1. 程式人生 > >解決mongodb group按時間分組的時差問題

解決mongodb group按時間分組的時差問題

  最近在做資料的訪問量統計,時間格式是Date型別,發現用group按時間分組後訪問量資料不對,原來是因為Mongodb中的Date與我們有8小時時差。解決辦法如下:

 按小時分組查詢時語句如下:

    $group: { _id:{hour:{$hour:'$timexxx'}} }

 由於有8小時時差,所以查詢時加上8小時,改為如下:

    $group: { _id:{hour:{$hour:{$add:['$timexxx',28800000]}}} }

   另外按月分組和日期分組一樣,如下:

   $group: { _id:{month:{$month:{$add:['$time',28800000]}}} }

   $group: { _id:{dayOfMonth:{ $dayOfMonth: {$add:['$time',28800000]} }}  }