sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan udføres opdateringsoperationer i GridFS (ved hjælp af Java)?

I GridFS fjerner/sletter du ikke et enkelt dokument, men faktisk en masse dokumenter (filer er opdelt i bidder, og hver chunk er et separat dokument). Det betyder, at det simpelthen ikke er muligt at erstatte en fil på en atomart måde.

Hvad du kan gøre i stedet er:

  1. indsæt en ny fil med et nyt navn
  2. efter dette skete (brug replikaen anerkendt skrive-bekymring), opdatere alle referencer til den gamle fil for at pege på den nye
  3. efter du har fået en bekræftelse på dette, kan du slette den gamle fil

GridFS er en slags hackish funktion. Det er ofte bedre blot at bruge en separat filserver med et rigtigt filsystem til at gemme filindholdet og kun gemme metadataene i MongoDB.




  1. Hvorfor kan mit Redis Lua-script ikke atomisk opdatere nøgler på forskellige Redis Cluster-noder?

  2. Sortering af aggregering addToSet resultat

  3. Hvad skal du vide, når du begynder at arbejde med MongoDB i produktionen - ti tips

  4. Mongoose, find, returner specifikke egenskaber