MongoDB / pymongo计算两分钟的差异

时间:2018-03-10 16:48:42

标签: python mongodb pymongo

我正在尝试计算mongodb中两个时间戳之间的差异。

使用MySQL,可以使用此查询轻松实现

SELECT ROUND((TIME_TO_SEC(NOW()) - TIME_TO_SEC(lastseen))/60) AS minutes其中lastseen是时间戳列。

这是我的架构:

{
    "_id" : ObjectId("5aa329cb0b717a0f637b0937"),
    "username" : "admin@mans.com",
    "token" : "1085bbc68a",
    "realname" : "Administrator",
    "lastseen" : ISODate("2018-03-09T19:41:47.552Z")
}

如何在文档中lastseendatetime.datetime.now()之间的时间间隔内获得时差?

1 个答案:

答案 0 :(得分:0)

$subtract aggregation query operator可用于查找两个日期的差异。 例如

query = [{
    '$project': {
        'username': 1,
        'date_diff_mins': { 
             '$divide': [
                 {'$subtract': [datetime.now(), '$lastseen']},
                 1000 * 60
             ] 
        } 
    }
}]
db.collection.aggregate(query)