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

Aggiungi i dati al file gridfs esistente

GridFS non è una caratteristica fondamentale di MongoDB ma una convenzione per la memorizzazione di dati binari con metadati di accompagnamento. Dovresti essere in grado di modificare qualsiasi documento in fs.chunks raccolta in modo normale mantenendo il documento corrispondente in fs.files intatto. Il problema principale sarà ricalcolare il checksum MD5, ma AFAIK non viene utilizzato da nessuna parte ed è solo un bonus "gratuito". In ogni caso è ancora possibile la modifica di sola aggiunta (vedi MD5 digest di un download ripreso).

Quindi, per aggiungere un file GridFS esistente, devi individuare il documento corrispondente in fs.files . Quindi, a seconda del rapporto di riempimento dell'ultimo pezzo (length % chunkSize ==0) puoi riscrivere l'ultimo documento chunk in fs.chunks rispettando il chunkSize , e/o semplicemente aggiungi nuovi blocchi con l'incremento di n campo. Prossimo aggiornamento length in fs.files ed eventualmente altri metadati.