[英]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.