I GridFS tar du inte bort/tar bort ett enda dokument utan faktiskt ett gäng dokument (filer är uppdelade i bitar och varje bit är ett separat dokument). Det betyder att det helt enkelt inte är möjligt att ersätta en fil på ett atomärt sätt.
Det du kan göra istället är:
- infoga en ny fil med ett nytt namn
- efter att detta hände (använd replikan bekräftad write-concern), uppdatera alla referenser till den gamla filen för att peka på den nya
- efter att du har fått en bekräftelse på detta kan du ta bort den gamla filen
GridFS är en slags hackig funktion. Det är ofta bättre att bara använda en separat filserver med ett riktigt filsystem för att lagra filinnehållet och bara lagra metadata i MongoDB.