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

Mongodb TTL изтича документите по-рано

Вашите проблеми идват от използването на наивни времеви марки в местната ви часова зона. ЧЗВ за pymongo има запис, който включва предупреждение да не се използва datetime.datetime.now() .Използване на utcnow , ttl -настройката работи според очакванията:

import pymongo
import datetime

mongo_con = pymongo.Connection('localhost', 27017)
mongo_db = mongo_con.Mongo_database
mongo_col = mongo_db.my_TTL_collection

timestamp = datetime.datetime.now()
utc_timestamp = datetime.datetime.utcnow()

mongo_col.ensure_index("date", expireAfterSeconds=3*60)                     

mongo_col.insert({'_id': 'session', "date": timestamp, "session": "test session"})
mongo_col.insert({'_id': 'utc_session', "date": utc_timestamp, "session": "test session"})
# the utc_session will be deleted after around 3 minutes, 
# the other depending on your timezone


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как (правилно) да внедрите MongoDB на Kubernetes и да получите достъп до него от друг Pod/Job?

  2. Има ли опция upsert в командата за вмъкване на mongodb?

  3. Някакви подробни и конкретни причини защо MongoDB е много по-бърз от SQL DB?

  4. Java MongoDB получава стойност за поддокумент

  5. Mongo shell изпълнява заявка от файл и показва резултат