Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyediakan Tamat Tempoh Dokumen Automatik dalam MongoDB dengan Go?

Bagaimana untuk Menyediakan Tamat Tempoh Dokumen Automatik dalam MongoDB dengan Go?

Mary-Kate Olsen
Lepaskan: 2024-10-29 17:24:02
asal
405 orang telah melayarinya

How to Set Up Automatic Document Expiration in MongoDB with Go?

Dokumen Tamat Tempoh dalam MongoDB Selepas Selang Masa Tetap

Dalam Go, menggunakan pemandu mongo-go, anda boleh tamat tempoh secara automatik dokumen dalam koleksi berdasarkan yang ditentukan bilangan saat.

Penjelasan

Untuk dokumen tamat tempoh secara automatik, anda perlu:

  1. Membuat indeks dengan pilihan tamat tempohAfterSeconds: Ini menetapkan TTL (masa untuk hidup) dokumen berdasarkan medan (cth., CreatedAt).
  2. Sisipkan dokumen dengan medan cap masa yang ditentukan: Semasa memasukkan dokumen, pastikan dokumen tersebut mempunyai CreateAt medan untuk menentukan bila TTL bermula.

Kod Contoh

Dalam kod Go anda:

<code class="go">// Add an index to expire documents after 1 second (for testing purposes).
model := mongo.IndexModel{
    Keys:    bson.M{"createdAt": 1},
    Options: options.Index().SetExpireAfterSeconds(1),
}
ind, err := col.Indexes().CreateOne(ctx, model)</code>
Salin selepas log masuk

Nota tentang Masa

Ia penting untuk ambil perhatian bahawa pilihan expireAfterSeconds menentukan tempoh selepas dokumen itu layak untuk dipadamkan. Walau bagaimanapun, pemadaman sebenar mungkin tidak berlaku serta-merta.

MongoDB menjalankan tugas latar belakang setiap 60 saat untuk mengalih keluar dokumen yang telah tamat tempoh. Oleh itu, dokumen tamat tempoh mungkin kekal dalam koleksi sehingga 60 saat selepas TTL tamat tempoh. Selain itu, jika pangkalan data berada di bawah beban berat, proses pemadaman mungkin mengambil masa yang lebih lama.

Perlu ingat perkara ini apabila mengharapkan dokumen anda dipadamkan dengan segera.

Atas ialah kandungan terperinci Bagaimana untuk Menyediakan Tamat Tempoh Dokumen Automatik dalam MongoDB dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan