var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
एक TTL अनुक्रमणिका किसी दस्तावेज़ के 'x' सेकंड को उसके मान (जो दिनांक या तिथियों की एक सरणी होनी चाहिए) बीत जाने के बाद हटा देती है। TTL की हर मिनट जांच की जाती है, इसलिए यह आपके दिए गए 15 सेकंड से थोड़ा अधिक समय तक जीवित रह सकता है।
दिनांक को एक डिफ़ॉल्ट मान देने के लिए, आप default
. का उपयोग कर सकते हैं नेवला में विकल्प। यह एक समारोह स्वीकार करता है। इस मामले में, Date()
वर्तमान टाइमस्टैम्प लौटाता है। यह तारीख को वर्तमान समय एक बार पर सेट कर देगा ।
आप इस मार्ग पर भी जा सकते हैं:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
यह हर बार के मान को अपडेट करेगा आप .save()
. पर कॉल करें (लेकिन नहीं .update()
)।