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

lacak dokumen yang dihapus dalam koleksi terbatas Mongo DB

Koleksi yang dibatasi adalah koleksi berukuran tetap yang secara otomatis menghapus dokumen terlama (berdasarkan urutan penyisipan) dengan menimpanya setelah koleksi penuh.

Koleksi yang dibatasi secara konseptual adalah buffer melingkar, bukan antrean.

Ini kedengarannya tidak cocok untuk kasus penggunaan informasi pesanan yang bertahan -- tidak ada "pengait" untuk memasukkan kembali dokumen ke dalam koleksi yang dibatasi saat dihapus, dan jika koleksi yang dibatasi terlalu kecil, Anda dapat menimpanya dokumen sebelum diproses.

Saya pikir Anda sangat ingin menggunakan koleksi normal (tanpa batas).

Hapus pesanan lama berdasarkan status

Jika Anda ingin menghapus pesanan berdasarkan beberapa nilai status, Anda harus menangani ini dalam kode aplikasi Anda (misalnya, saat pesanan berpindah dari status "Tertunda" ke "Diproses", lakukan pembersihan apa pun yang diperlukan).

Hapus pesanan lama/kedaluwarsa berdasarkan waktu

Jika Anda ingin agar pesanan lama/kedaluwarsa dihapus secara otomatis pada waktu tertentu, pendekatan yang baik adalah menggunakan koleksi normal dengan kedaluwarsa Time-To-Live (TTL) tingkat dokumen , misalnya:

db.orders.ensureIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )

Anda kemudian dapat mengatur (atau memperpanjang) kedaluwarsa untuk setiap dokumen pesanan berdasarkan expireAt tanggal. Perhatikan bahwa ini mungkin bukan opsi yang sesuai jika Anda perlu memeriksa keduanya expireAt nilai dan bidang status (kedaluwarsa TTL semata-mata didasarkan pada indeks tanggal yang diberikan).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bisakah Anda memiliki mongo $push prepend alih-alih menambahkan?

  2. Ekspor hasil kerangka kerja agregasi mongodb ke koleksi baru

  3. Luwak menarik ObjectId dari array

  4. Bagaimana cara menghindari pengecualian Prematur mencapai akhir aliran menggunakan driver mongoDB Java 3.4+ atau 3.6+? (selama penyisipan)

  5. Kueri Mongo dengan python jika saya menggunakan variabel sebagai nilai