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
Mary-Kate Olsenasal
2024-10-29 17:24:02470semak imbas

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>

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!

Kenyataan:
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