MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Време е да живеете в mongodb, mongoose не работят. Документите не се изтриват

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 опция в Mongoose. Приема функция. В този случай, Date() връща текущото времево клеймо. Това ще настрои датата на текущия час веднъж .

Можете също така да отидете по този маршрут:

UserSessionSchema.pre("save", function(next) { 
    this.sessionActivity = new Date(); 
    next(); 
});

Това ще актуализира стойността всеки път извиквате .save() (но не .update() ).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB:как да обърна $unwind

  2. Spring Data Mongo изглежда игнорира хоста в XML конфигурация

  3. Имате ли нужда от JPA, когато използвате MongoDB?

  4. Как да получите изход на mongo shell (три точки) за непрекратена команда

  5. Извършването на актуализация на пътя „_id“ ще промени неизменното поле „_id“