我如何平均Mongoose js之间的平均时间?

时间:2016-07-08 20:26:08

标签: javascript mongoose aggregate

我试图查询我的mLab数据库并获得两个日期之间的平均时间。我按名称和两个日期之间匹配数据(尝试在一天内获取数据)。在我提供的日期内,数据库中有数据,但我得到了未定义的数据。我不确定我做错了什么。

var dataSchema = mongoose.Schema({
  name: String,
  start: Date,
  end: Date,
  key: String
});
module.exports.GetAverageDataWithinRange = function(name, dates, callback) {
  Data.aggregate([{
    $match: {
      name: name,
      start: {
        $gte: dates.startDate,
        $lt: dates.endDate + 1
      }
    }
  }, {
    $group: {
      _id: "$name",
      average: {
        $avg: {
          $subtract: [{
            $millisecond: "$end"
          }, {
            $millisecond: "$start"
          }]
        }
      }
    }
  }], function(err, results) {
    if (err) {
      console.log(err);
    } else {
      callback(results);
      console.log(results);
    }
  });
}

0 个答案:

没有答案