【发布时间】:2019-07-15 07:37:53
【问题描述】:
我在聊天中有一些日期是这样的字符串格式:
"_id" : ObjectId("2bfd5d45348ef655b5236d93"),
"status" : "closed",
"context" : "Chats",
"chats" : {
"time_initialized" : "2019-02-20T17:35:39.960284505Z",
"time_responded" : "2019-02-20T17:42:06.691469546Z",
"time_closed" : "2019-02-20T17:44:10.158421784Z"
}
我在 mongo 中的数据库版本是 3.6.5:
在 Mongo 文档中,您可以在下面看到支持 dateFromString 函数:
这是我失败的代码:
"errmsg" : "$dateFromString: 格式无法识别的参数"
db.conversations.aggregate([
{$match: {"context": "Chats", "status": "closed",
"chats.time_closed": {$exists: true}}},
{$unwind: "$chats"},
{$project: {chats:1, _id: 1, status: 1,
initialised_closed_duration:
{$divide: [
{$subtract: [
{$dateFromString: {dateString: "$chats.time_closed", format: "%Y-%m-%dT%H:%M:%S.000000000Z"}},{$dateFromString: {dateString: "$chats.time_initialized", format: "%Y-%m-%dT%H:%M:%S.000000000Z"}}]},60000]}}},
{$limit: 5}]).pretty()
我查询的目的是获取聊天的初始化和关闭日期,并计算出持续时间(以分钟为单位)(因此将毫秒日期差除以 60,000)
有人对此有任何想法吗?
【问题讨论】: