Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将ISO日期转换为UNIX时间戳mongodb_Node.js_Mongodb_Mongoose_Aggregation Framework - Fatal编程技术网

Node.js 将ISO日期转换为UNIX时间戳mongodb

Node.js 将ISO日期转换为UNIX时间戳mongodb,node.js,mongodb,mongoose,aggregation-framework,Node.js,Mongodb,Mongoose,Aggregation Framework,有数百个线程和操作符可以将日期对象转换为ISO字符串,但在节点中,作为mongoose/mongodb聚合操作符的一部分,却找不到任何资源 我有一个传统的mongodb 3.6,目前正在生产中使用,我有一个管道,试图将mongo中的一个普通ISO日期对象转换为UNIX时间戳,以便与ngx图表和其他图表一起使用 我不能使用$toDate、$convert运算符或$dateFromString,因为我需要的选项在3.6中不可用 到目前为止,我已经尝试过这方面的变化: $project:

有数百个线程和操作符可以将日期对象转换为ISO字符串,但在节点中,作为mongoose/mongodb聚合操作符的一部分,却找不到任何资源

我有一个传统的mongodb 3.6,目前正在生产中使用,我有一个管道,试图将mongo中的一个普通ISO日期对象转换为UNIX时间戳,以便与ngx图表和其他图表一起使用

我不能使用$toDate、$convert运算符或$dateFromString,因为我需要的选项在3.6中不可用

到目前为止,我已经尝试过这方面的变化:

      $project: {
        _id: 0,
        // name: '$_id._id',
        value: '$_id.count',
        name: new Date.parse('$_id.date').getTime(),
        min: '$min',
        max: '$max'
      }

但是,在db上处理聚合时,所有这些都不起作用,也不知道该函数是什么。我研究了许多运算符,并尝试先转换为字符串,然后再转换回UNIX日期,但似乎没有任何东西可以从ISO日期转换为javascript/UNIX时间戳。

您可以使用下面的聚合

db.getCollection('sessions').aggregate([
  { "$project": {
    "timestamp": {
      "$subtract": [ "$createdAt", new Date("1970-01-01") ]
    }
  }}
])