【发布时间】:2019-03-04 14:55:20
【问题描述】:
我将到期时间设置为 24 小时,但文件在大约 5-10 分钟后到期(我没有准确计时)。我究竟做错了什么?我的架构:
const collectionSchema = new mongoose.Schema({
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
name: {
type: String,
maxLength: 30,
required: true
},
entries: [{ type: mongoose.Schema.Types.ObjectId, ref: "Entry" }],
expireAt: { type: Date, expires: 60 * 60 * 24 }
});
在发布路线中,我有条件地设置日期,以便登录的客户端获得数据持久性。
router.post("/", auth, async (req, res) => {
let date = null;
if (!req.user) {
date = new Date();
}
try {
const collection = {
userId: req.body.userId,
name: req.body.name,
expireAt: date
};
const newCollection = await Collection.create(collection);
res.send(newCollection);
} catch (error) {
res.send(error.message);
}
});
我以为我遇到了时区问题,但是当我检查 MongoDB 指南针中的时间戳时,它与我的时区匹配。我做错了什么?
【问题讨论】:
-
您是否将数据存储到远程服务器?
-
您能否更新您的问题以在 shell 中显示此集合的
getIndexes()输出?