簡體   English   中英

如何在nodejs,mongodb中相互減去兩次時間

[英]how to subtract two time from each other in nodejs, mongodb

我這里有兩個時間數據。 一種是我通過objectId找到的mongodb數據庫。 另一個是當前時間。 我把兩個都放在變量中..現在我想從當前時間中減去數據庫的時間值..這是我嘗試過的一些代碼。

var mongo = require('mongodb');
var ObjectId = require('mongodb').ObjectID;
var lastUpdate = new Date();
var id = ObjectId("5a5ee7588a6a102398be8ada");
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/blue";

MongoClient.connect(url, function (err, db) {
    if (err) 
        throw err;
    var dbase = db.db("blue");
    dbase.collection("screams").findOne({ email: "Adnan@gmail.com", _id: id }, 
     function (err, searchtype) {
        if (err) 
          throw err;
        var resdate = searchtype.createdAt;
        console.log(resdate);
        dbase.collection("screams").find(function () {
            return (this.lastUpdate.valueOf() - this.resdate.valueOf())
                > (1000 * 60 * 60 * 24);
        })
        db.close();
    });
});

我認為MongoDb在其聚合框架中具有$ subtract運算符可以幫助您實現此目的。

嘗試

dbase.collection('screams').aggregate([
    {$match:{email:"Adnan@gmail.com", _id: id }},
    {$project:{_id:1, email:1, createdAt:1, 
         datediff:{$subtract:[new Date(), '$createdAt']}}
    }
], function(err, result) {
    //Do what you need to do here.
})

datediff以毫秒為單位,您可能需要在那里進行一些轉換以滿足您的需要。

幸運的是,我找到了一個簡單的解決方案。 如果有人遇到相同問題,請使用它

var d1 = new Date(); , // put ur any date value in the given variable
        d2 = new Date();

        var diff = Math.abs(d2 - d1);
        console.log(diff);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM