sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo realizar operaciones de actualización en GridFS (usando Java)?

En GridFS, no está eliminando/eliminando un solo documento, sino un montón de documentos (los archivos se dividen en fragmentos y cada fragmento es un documento separado). Eso significa que simplemente no es posible reemplazar un archivo de forma atómica.

Lo que puedes hacer en su lugar es:

  1. insertar un nuevo archivo con un nuevo nombre
  2. después de que esto sucediera (use la réplica reconocida escritura-preocupación), actualice todas las referencias al archivo antiguo para apuntar al nuevo
  3. después de recibir una confirmación de esto, puede eliminar el archivo antiguo

GridFS es una especie de característica de pirateo. A menudo es mejor usar un servidor de archivos separado con un sistema de archivos real para almacenar el contenido del archivo y almacenar solo los metadatos en MongoDB.