【发布时间】:2018-10-23 00:34:41
【问题描述】:
我想检查记录是否在 30 分钟后过期。 我是这样做的:
if (orderBlocked.createdAt + (30 * 60 * 1000) > Date.now())
我的 orderBlocked 模型如下所示:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userBlockedSchema = new Schema({
_id: Schema.Types.ObjectId,
user: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
},
attemp: {
type: Number,
required: true
},
createdAt: {
type: Number,
default: Date.now()
},
});
const VerificationClass = mongoose.model('OrderBlocked', userBlockedSchema);
module.exports = VerificationClass;
orderBlocked.createdAt 字段等于我上次重新启动服务器的时间。为什么该字段具有相同的值并且不更新?我控制台记录了Date.now()。
console.log(Date.now(), orderBlocked.createdAt);
console.log 跑完之后,我立即查看了时间,这是结果:
Date.now(): (date) 17:41:25 这是正确的值
orderBlocked.createdAt:(日期)15:08:37
就像您看到的那样,orderBlocked.createdAt 比 Date.now() 少了将近 2 小时 30 分钟,它们都是在同一时刻运行的。
重要提示:
我正在使用ubuntu 的nginx 服务器上运行此应用程序。
我做错了什么,我找不到与此问题相关的任何主题。
【问题讨论】:
标签: node.js mongodb date ubuntu mongoose