MongoDB图表如何获取createdAt和updatedAt的时差
样本数据MongoDB图表如何获取createdAt和updatedAt的时差,mongodb,charts,mongodb-query,aggregation-framework,mongodb-charts,Mongodb,Charts,Mongodb Query,Aggregation Framework,Mongodb Charts,样本数据 "id": 1 "createdAt": { "$date": "2020-09-29T01:52:10.199Z" }, "updatedAt": { "$date": "2020-09-29T02:55:10.199Z" } "id": 2 "createdAt": { &
"id": 1
"createdAt": {
"$date": "2020-09-29T01:52:10.199Z"
},
"updatedAt": {
"$date": "2020-09-29T02:55:10.199Z"
}
"id": 2
"createdAt": {
"$date": "2020-09-29T01:52:10.199Z"
},
"updatedAt": {
"$date": "2020-09-29T01:55:10.199Z"
}
代码:
输出:
"id": 1
"createdAt": {
"$date": "2020-09-29T01:52:10.199Z"
},
"updatedAt": {
"$date": "2020-09-29T01:55:10.199Z"
}
timeDifference: -695752959
预期产量
"id": 1
"createdAt": {
"$date": "2020-09-29T01:52:10.199Z"
},
"updatedAt": {
"$date": "2020-09-29T01:55:10.199Z"
}
timeDifference: 1 hr 3 minutes / 1:03:00 any of the 2
"id": 2
"createdAt": {
"$date": "2020-09-29T01:52:10.199Z"
},
"updatedAt": {
"$date": "2020-09-29T01:55:10.199Z"
}
timeDifference: 3 minutes / 0:03:00 any of the 2
averageDiff: 30 minutes // sample
我想获得createdAt和updatedAt字段的时差,并获得时间的平均值,以便在MongoDB图表上显示。有什么建议吗?尽你所能
结果是几个小时。通过更改数字,您可以在天/秒内获得它。默认值为毫秒。您可以得到的最佳值
db.orders.aggregate([ {
$project: {
products: 1,
dateDifference: {$divide: [{$subtract: ["$updatedAt", "$createdAt"]}, 3600000]}
} }])
结果是几个小时。通过更改数字,您可以在天/秒内获得它。默认值为毫秒
db.orders.aggregate([ {
$project: {
products: 1,
dateDifference: {$divide: [{$subtract: ["$updatedAt", "$createdAt"]}, 3600000]}
} }])
此查询将以小时为单位提供时间戳
此查询将以小时为单位提供时间戳。您将从查询中获得毫秒,我建议最好使用该毫秒在客户端语言中执行。您好,@turivishal我计划在MongoDB图表中执行此操作。这是否可以得到我的createdAt和updatedAt字段的平均时间?@PinkyPromise这个答案有用吗?@Gibbs是的,下面的答案也很好。谢谢。你能批准/投票吗?你的查询将得到毫秒,我建议最好用客户端语言使用毫秒。嗨,@turivishal我计划在MongoDB图表中这样做。这是否可以得到我的createdAt和updatedAt字段的平均时间?@PinkyPromise这个答案有用吗?@Gibbs是的,下面的答案也很好。谢谢。你能批准/投赞成票吗?
db.orders.aggregate([ {
$project: {
products: 1,
dateDifference: {$divide: [{$subtract: ["$updatedAt", "$createdAt"]}, 3600000]}
} }])