node.js - 自从在 mongoDB 中放入条目以来已经有多少天了?
问题描述
我有这个猫鼬模型。
const GoalSchema = new Schema({
.
.
.
.
Date: {
type: Date,
default: Date.now
}
.
.
.
.
});
我试图弄清楚自创建此对象以来已经过去了多长时间,我尝试了以下方法:
const oneDay = 1000 * 60 * 60 * 24 ;
const temp = new Date();
const diff = (temp - goal.Date.getTime());
diff /= oneDay;
这里的目标是我从猫鼬那里收到的目标对象。你能帮我算一下已经过去了多少天吗?
解决方案
使用 Mongoose 时间戳功能。
const GoalSchema = new Schema({
yourFields: String
}, {timestamps: true});
这将自动在 MongoDB 文档上创建 createdAt 和 updatedAt 字段。
然后得到日期之间的差异。使用以下代码
let createdDate = new Date(doc.createdAt);
let currentDate = new Date();
let timeDif = Math.abs(createdDate.getTime() - currentDate.getTime());
let differentDays = Math.ceil(timeDifference / (1000 * 3600 * 24));
或者你可以使用Moment.js
let createdDate = moment(doc.createdAt);
let currentDate = moment()
createdDate.diff(currentDate, 'days')
推荐阅读
- encryption - What is lua obfuscation?
- javascript - Javascript:如何检查数组中的某些项目
- php - 在选择中对多个 ActiveQuery 子查询求和
- java - Java Spring Boot如何实现业务逻辑层和资源库层?
- flutter - 颤振文本字段小部件不会显示
- mapbox - 使用数组 Mapbox GL JS 进行过滤
- python - Multiindex groupby python
- java - What are the benefits of limiting FPS OpenGl
- android - FCMPluging 和 GooglePlus 冲突
- node.js - 将 TS 泛型有效地用于不同的功能