mongodb中如何基于2个字段计算时差

mongodb中如何基于2个字段计算时差,mongodb,Mongodb,我熟悉简单的mongodb查询,但这个查询对我来说有点复杂。这里,我试图实现的是基于jsonObject.callID和jsonObject.mobile字段,我必须计算jsonObject.timestamp的时差。例如,在下面的示例文档中,jsonObject.callID和mobile对于jsonObject.actionstart和end将保持不变。因此,基于jsonObject.callID和jsonObject.mobile,我必须减去jsonObject.timestampjson

我熟悉简单的mongodb查询,但这个查询对我来说有点复杂。这里,我试图实现的是基于
jsonObject.callID
jsonObject.mobile
字段,我必须计算
jsonObject.timestamp
的时差。例如,在下面的示例文档中,
jsonObject.callID
mobile
对于
jsonObject.action
start
end
将保持不变。因此,基于
jsonObject.callID
jsonObject.mobile
,我必须减去
jsonObject.timestamp
jsonObject.callId对于两个间隔动作(即
start
end
具有相同的
jsonObject.mobile
编号)是相同的

{
        "_id" : ObjectId("5df9bc5ee5e7251030535df5"),
        "_class" : "com.abc.mongo.docs.IvrMongoLog",
        "jsonObject" : {
                "mode" : "ivr",
                "callID" : "33333",
                "callee" : "128",
                "action" : "end",
                "mobile" : "218924535466",
                "timestamp" : "2019-12-18  16:18:12"
        }
}
{
        "_id" : ObjectId("5df9bc3de5e7251030535df4"),
        "_class" : "com.abc.mongo.docs.IvrMongoLog",
        "jsonObject" : {
                "mode" : "ivr",
                "callID" : "33333",
                "callee" : "128",
                "action" : "start",
                "mobile" : "218924535466",
                "timestamp" : "2019-12-18  16:12:11"
        }
}
因此,我尝试实现如下输出:

 {
                "callee" : "128",
                "mobile" : "218924535466",
                "callID" : "33333",
                "minutes_of_call" : "6" // difference of "2019-12-18  16:18:12" - "2019-12-18  16:12:11"
        }
随后,我需要为下一个文档提供这些结果


请协助。

请将时间戳保存为mongodb格式,如2014-01-01T08:15:39.736Z,然后我们可以做itok..我会做。。下一步?好的,请给我5分钟。请在jsoneditor online与mongodb的时间格式共享实际数据使用并在线保存,与我共享链接