0
私はMongodbを使い始めました。捕まってしまった。mongodbでの文書の自動削除
は、だから私は、フィールドのコレクションを持っている:
_id
たstartDate(ロング)
は、今私はある文書を自動的に削除する
名(ロング)
endDateに特定の日付より古い
startDate
フィールドのTTLインデックスを作成し、2分後に有効期限を設定し、有効期限が切れるかどうかをテストしました。 startDate
を含む文書をisoDate
として挿入している間、その文書は有効で期限切れです。
..insert({startDate:newDate()})--> Got deleted after 2 secs.
私の質問は、以前にインストールされたデータのうち、startDateがlong値であることです。では、どうしたらうまくいくのですか?
ありがとうPaul! startDate値ではなく、作成日に基づいてドキュメントを削除する必要があるようです。私は別のフィールドとしてcreationDateを持っていません。私は、作成された文書の日付を取得したい場合、ObjectIdのタイムスタンプを取得できることを理解しています。しかし、_idにTTLインデックスを作成することはできません。私は正しい?なにか提案を? – Rthp
このようなフィールドがない場合は追加してください。ドキュメントを更新して、ObjectIdのタイムスタンプを使用してcreate_dateフィールドを追加します(私はこの関数を使ったことはありませんが、意味があります)。次にcreate_dateのTTLインデックス。 – PaulMcG