我正在尝试做一个promoCode
Mongoose 中的架构。创建时,我需要能够设置促销代码的到期日期。促销代码不一定相同TTL
。我在看这个问题 https://stackoverflow.com/questions/14597241/setting-expiry-time-for-a-collection-in-mongodb-using-mongoose,但我的文件还没有过期。
这是我的promoCode.js
file:
var mongoose = require("mongoose");
var promoCodeSchema = mongoose.Schema({
expirationDate: Date,
createdAt: {
type: Date,
expireAfterSeconds: Number,
default: Date.now
}
})
module.exports = mongoose.model("Promo", promoCodeSchema);
Now, in routes.js
, 我有:
app.post("/admin/promo/create", isLoggedIn, isVerified, isAdmin, function (req, res) {
var promo = new Promo();
promo.createdAt.expireAfterSeconds = 60;
// for reference, note the actual day on which the promo code should expire
var days = parseInt(req.body.expiration.replace(/[^\d]+/g, "")) || 1;
promo.expirationDate = new Date(Date.now() + (days * 24 * 3600 * 1000));
promo.save(function (err) {
console.log(err, promo);
return res.redirect("/admin/promo");
});
})
这是行不通的。我还需要能够获得的值TTL
。我该如何解决这个问题?