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