MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czas żyć w mongodb, mangusta nie działa. Dokumenty nie są usuwane

var UserSessionSchema   = new Schema({
    sessionActivity:    { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
    user_token:         { type: String, required: true }
});

Indeks TTL usuwa dokument „x” sekund po upływie jego wartości (która powinna być datą lub tablicą dat). TTL jest sprawdzany co minutę, więc może trwać nieco dłużej niż podane 15 sekund.

Aby nadać dacie wartość domyślną, możesz użyć default opcja w Mongoose. Przyjmuje funkcję. W tym przypadku Date() zwraca bieżący znacznik czasu. Spowoduje to ustawienie daty na aktualny czas raz .

Możesz również wybrać tę trasę:

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

Spowoduje to zaktualizowanie wartości za każdym razem wywołujesz .save() (ale nie .update() ).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jaka jest różnica między mangustą a mongoJS? Którego powinienem użyć?

  2. Uruchamianie Meteor na hoście lokalnym kończy się niepowodzeniem z RangeError:port powinien być>=0 i <65536:NaN

  3. Używanie MongoDB $pull do usuwania dokumentów z tablicy

  4. Tworzenie rosnących liczb za pomocą mongoDB

  5. Spring-data mongodb repozytorium i dziedziczenie