MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment effectuer des opérations de mise à jour dans GridFS (en utilisant Java) ?

Dans GridFS, vous ne supprimez pas/supprimez un seul document mais en fait un groupe de documents (les fichiers sont divisés en morceaux et chaque morceau est un document séparé). Cela signifie que le remplacement d'un fichier n'est tout simplement pas possible de manière atomique.

À la place, vous pouvez :

  1. insérer un nouveau fichier avec un nouveau nom
  2. après que cela se soit produit (utilisez le réplica reconnu write-concern), mettez à jour toutes les références à l'ancien fichier pour qu'elles pointent vers le nouveau
  3. après avoir reçu une confirmation pour cela, vous pouvez supprimer l'ancien fichier

GridFS est une sorte de fonctionnalité hackish. Il est souvent préférable d'utiliser simplement un serveur de fichiers séparé avec un véritable système de fichiers pour stocker le contenu du fichier et de ne stocker que les métadonnées dans MongoDB.