如何在mongoDB中获取日期差异?日期应该是天数的差异?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在mongoDB中获取日期差异?日期应该是天数的差异?相关的知识,希望对你有一定的参考价值。
我想根据当前日期减去到期日期对象来过滤集合,并且小于等于10天。
我使用下面的代码,但我得到的日期差异为毫秒。我想要完全一天的差异。
db.metaobject.aggregate(
{ $unwind :'$certifications.expiry_date'},
{$project:{
_id:1,name:1,date-Difference: { $divide:[ {$subtract: [ "$certifications.expiry_date",new Date ]},86400000] }
}
},
{$match:{
dateDifference:{$lte:10}
}
}
)
答案
如果要在节点中使用它,则不需要计算差异:
直接计算节点js中的日期+10然后只计算$ lte:
var date = new Date();
var date10 = new Date(date.getTime());
date10.setDate(date10.getDate() + 10);
db.metaobject.aggregate(
{ $unwind :'$certifications.expiry_date'},
{$match:{
dateDifference:{$lte: new Date(date10).toJSON()}
}
}
)
以上是关于如何在mongoDB中获取日期差异?日期应该是天数的差异?的主要内容,如果未能解决你的问题,请参考以下文章