簡単に言うと、MongoDBには柔軟な スキーマ。日付フィールドを追加するだけです。古いエントリにはそれがないため、最後のエントリにすることはできません。
そのフィールドをmtime
と呼びましょう 。
したがって、スキーマ定義に日付フィールドを追加した後、新しいフィールドに降順でインデックスを生成します。
db.yourCollction.createIndex({mtime:-1})
コレクションの最後のmtimeを今すぐ見つけるのは簡単です:
db.yourCollection.find({"mtime":{"$exists":true}}).sort({"mtime":-1}).limit(1)
すべてのコレクションに対してこれを行います。上記のクエリが、コレクションをパージするために定義した時間枠内に値を返さない場合は、mtimeフィールドを導入してから変更されていないため、単に値を削除してください。
コレクションがクリーンアップされたら、mtime
を削除できます。 スキーマ定義のフィールド。ドキュメントから削除するには、簡単なクエリを実行できます:
db.yourCollection.update(
{ "mtime":{ $exists:true} },
{ "$unset":{ "mtime":""} },
{ multi: true}
)