GridFSでは、単一のドキュメントを削除/削除するのではなく、実際には一連のドキュメントを削除します(ファイルはチャンクに分割され、各チャンクは個別のドキュメントです)。つまり、ファイルをアトミックに置き換えることは不可能です。
代わりにできることは次のとおりです。
- 新しい名前で新しいファイルを挿入します
- これが発生した後(承認されたレプリカを使用 write-concern)、古いファイルへのすべての参照を更新して、新しいファイルを指すようにします
- これを確認したら、古いファイルを削除できます
GridFSは一種のハックな機能です。多くの場合、実際のファイルシステムで別のファイルサーバーを使用してファイルコンテンツを保存し、メタデータのみをMongoDBに保存することをお勧めします。