【发布时间】:2020-12-15 06:26:57
【问题描述】:
样本数据。
"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"
}
代码:
db.orders.aggregate([
{
$project: {
products: 1,
dateDifference: {
$subtract: [ "$createdAt", "$updatedAt" ]
}
}
},
{
$unset: "_id"
}
])
输出:
"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 图表上显示。有什么建议吗?
【问题讨论】:
-
您将从查询中获得毫秒数,我的建议最好使用客户端语言使用该毫秒数。
-
嗨,@turivishal 我打算在 MongoDB 图表中进行。这是否可以获得我的 createdAt 和 updatedAt 字段的平均时间?
-
@PinkyPromise 这个答案有用吗?
-
@Gibbs 是的,下面的答案也很好。谢谢。
-
我对他们俩都投了赞成票。因为两者都有效。
标签: mongodb charts mongodb-query aggregation-framework mongodb-charts