MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mongodb TTL kedaluwarsa dokumen lebih awal

Masalah Anda berasal dari penggunaan cap waktu naif di zona waktu lokal Anda. FAQ tentang pymongo memiliki entri yang menyertakan peringatan untuk tidak menggunakan datetime.datetime.now() .Menggunakan utcnow , ttl -pengaturan berfungsi seperti yang diharapkan:

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 tidak menyegarkan data secara otomatis?

  2. Cluster MongoDB yang terdistribusi secara geografis di AWS di wilayah UE

  3. Dalam mongodb $match, cara menguji bidang MATCHING , daripada bidang EQUALING

  4. Permintaan MongoDump dengan BinData

  5. Kerangka Agregasi MongoDB - Bagaimana Cara Mencocokkan Berdasarkan Rentang Tanggal, Kelompokkan Berdasarkan Hari, dan Rata-Rata Pengembalian Untuk Setiap Hari?