努力创建条件以检查自mongo中指定的ISODate
以来是否已经过去了30天。
字段名称为creationDate
,我使用find
函数,我只想查找自创建日期起已过去30天的这些字段。
User.find({
creationDate: {
$gte: ...
}
});
在Java语言中,我只会做类似
的操作(+new Date() - +new Date(creationDate))/60/60/24 >= 30
简而言之,我只想查找在mongo db中创建30
天已过去的元素。寻找任何帮助!
答案 0 :(得分:3)
我认为您只需要计算当前时间之前的30天,并将其用作如下条件:
let fromDate = new Date(Date.now() - 60 * 24 * 30 * 1000);
User.find({
creationDate: {
$gte: fromDate
}
});
答案 1 :(得分:1)
日期是一个棘手的话题,因此建议您使用专用的库,以免出现问题。
您可以使用momentjs:
$lte: aMonthAgo
然后将您的查询更改为:
const useClickOutside = (nodeElement, handler) => {
function handleClickOutside(event) {
if (nodeElement && !nodeElement.contains(event.target)) {
handler();
}
}
useEffect(() => {
document.addEventListener('mousedown', handleClickOutside);
return () => document.removeEventListener('mousedown', handleClickOutside);
}, []);
}
通过这种方式,您将仅找到创建日期小于“一个月前”的文档。
需要toDate() function才能从momentjs日期类型获取本地Date对象。
答案 2 :(得分:0)