MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नेवला डेटा की समय सीमा समाप्त लेकिन डेटाबेस में रखें

आपको स्कीमा संदर्भ . की अवधारणा का उपयोग करना चाहिए इसके लिए। अपना समाप्त Save सहेजें किसी अन्य तालिका में फ़ील्ड करें और अपने मुख्य user_table . में शामिल हों और expire_table (wxample नाम)

var UserSchema = new Schema({
    name: String,
    email: String
});

//save date by-default
//expire in 1 min as in your example
var expireSchema = new Schema({
    createdAt: { type: Date, default: Date.now, expires: '1m'  },
    user_pk: { type: Schema.Types.ObjectId, ref: 'user_expire'}
});

var userTable = mongoose.model('user_expire', UserSchema);
var expireTable = mongoose.model('expireMe', expireSchema);

//Save new user
var newUser =  new userTable({
    name: 'my_name',
    email: 'my_email'
});

newUser.save(function(err, result) {
    console.log(result, 'saved')
    var newExpire =  new expireTable({
        user_pk:result._id
    });
    //use _id of new user and save it to expire table
    newExpire.save(function(err, result) {
        console.log('saved relation')
    })
})

अब यह पता लगाने के लिए कि सत्र समाप्त हो गया है या नहीं

<मजबूत>1. डेटा समाप्त होने से पहले इस कोड को निष्पादित करने पर

expireTable.findOne()
.populate('user_pk')
.exec(function (err, result) {
    if (err) throw err;
    console.log(result)
    if(result == null) {
        console.log('session has expired, renew session')
    } else {
        console.log('session is active')
    }
});

//output - session is active

<मजबूत>2. डेटा समाप्त होने के बाद इस कोड को निष्पादित करने पर

expireTable.findOne()
.populate('user_pk')
.exec(function (err, result) {
    if (err) throw err;
    console.log(result)
    if(result == null) {
        console.log('session has expired, renew session')
    } else {
        console.log('session is active')
    }
});

//output - session has expired, renew session


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MEAN स्टैक स्थापित करना:npm -v मॉड्यूल.js:338 थ्रो इरेट; त्रुटि:मॉड्यूल './cache/caching-client.js' नहीं खोजा जा सका

  2. MongoDB देशी Node.js ड्राइवर का उपयोग करके db.killOp () कैसे चलाएं?

  3. क्या MongoDB में संग्रहीत सरणियाँ अपना क्रम बनाए रखती हैं?

  4. सत्यापन त्रुटि Mongodb

  5. स्प्रिंग बूट के साथ MongoDB क्वेरी लॉग करें