db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})
単一のコマンドのように見えますが、実際には多くのドキュメントで動作しています。このクエリを満たすものと同じ数です。
レプリケーションを使用する場合、すべての変更操作をlocal
の特別なコレクションに書き込む必要があります oplog.rs
というデータベース -略してoplog。
oplogには、削除されたドキュメントごとにエントリが必要であり、同じレコードを削除する前に、それらのエントリのすべてを各セカンダリのoplogに適用する必要があります。
検討することをお勧めできるのは、TTLインデックス です。 -設定した有効期限/値に基づいてドキュメントを「自動的に」削除します。これにより、大規模な削除を1回行う必要がなくなり、代わりに時間の経過とともに負荷を分散させることができます。