W GridFS nie usuwasz/usuwasz pojedynczego dokumentu, ale w rzeczywistości kilka dokumentów (pliki są dzielone na porcje, a każda porcja jest osobnym dokumentem). Oznacza to, że zastąpienie pliku jest po prostu niemożliwe w sposób niepodzielny.
Zamiast tego możesz:
- wstaw nowy plik z nową nazwą
- po tym wydarzeniu (użyj repliki potwierdzonej write-concern), zaktualizuj wszystkie odniesienia do starego pliku, aby wskazywały na nowy
- po otrzymaniu potwierdzenia możesz usunąć stary plik
GridFS to rodzaj hackish funkcji. Często lepiej jest po prostu użyć oddzielnego serwera plików z prawdziwym systemem plików do przechowywania zawartości pliku i przechowywać tylko metadane w MongoDB.