ホームページ > バックエンド開発 > Golang > Go を使用して MongoDB でドキュメントの自動有効期限を設定するにはどうすればよいですか?

Go を使用して MongoDB でドキュメントの自動有効期限を設定するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-29 17:24:02
オリジナル
367 人が閲覧しました

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

固定時間間隔後の MongoDB 内のドキュメントの期限切れ

Go では、mongo-go-driver を使用して、指定された期間に基づいてコレクション内のドキュメントを自動的に期限切れにすることができます

説明

ドキュメントを自動的に期限切れにするには、以下を行う必要があります:

  1. expireAfterSeconds オプションを使用してインデックスを作成します:これにより、フィールド (createdAt など) に基づいてドキュメントの TTL (存続期間) が設定されます。
  2. 指定したタイムスタンプ フィールドを持つドキュメントを挿入します。 ドキュメントを挿入するときは、createdAt が含まれていることを確認してください。

コード例

Go コード内:

<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>
ログイン後にコピー

タイミングに関する注意

重要ですexpireAfterSeconds オプションは、ドキュメントが削除できるようになるまでの期間を指定することに注意してください。ただし、実際の削除はすぐに行われない場合があります。

MongoDB は 60 秒ごとにバックグラウンド タスクを実行して、期限切れのドキュメントを削除します。したがって、期限切れのドキュメントは、TTL の期限が切れた後、最大 60 秒間コレクション内に残る可能性があります。さらに、データベースの負荷が高い場合、削除プロセスに時間がかかることがあります。

ドキュメントがすぐに削除されることを期待する場合は、この点に留意してください。

以上がGo を使用して MongoDB でドキュメントの自動有効期限を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート