「参照データ」を含むMongoDB(v2.2.0)コレクションがあります。定期的に、そのコレクション内のすべてのドキュメントを外部ソースからのデータに置き換える必要があります。参照データが置き換えられている間は、コレクションに何もアクセスしないことが重要です。
別の名前で新しい(つまり「一時的な」)コレクションを作成し、データをロードしてから名前を変更するのが最善の解決策だと思いますか?
例えば:
- コレクションを作成する
myCollection-TEMP
- すべてのドキュメントを挿入
into myCollection-TEMP
- 一時コレクションの名前を変更して、現在のコレクションを置き換えます(つまり、名前を変更する前に削除します)
db.myCollection-TEMP.renameCollection('myCollection', true)
私の知る限り、コレクションを安全に「空」にし、ドキュメントの「一括インポート」を実行し、そのプロセスの途中で他に何もコレクションにアクセスしないようにする方法はありません。