GridFS não é um recurso central do MongoDB, mas uma convenção de armazenamento de dados binários com metadados de acompanhamento. Você deve poder modificar qualquer documento em
fs.chunks
coleção de maneira usual, mantendo o documento correspondente em fs.files
intacto. O principal problema será recalcular a soma de verificação MD5, mas o AFAIK não é usado em nenhum lugar e é apenas um bônus "gratuito". De qualquer forma, ainda é possível modificar apenas anexar (consulte o resumo MD5 de um download retomado). Portanto, para anexar a um arquivo GridFS existente, você precisa localizar o documento correspondente em
fs.files
. Então, dependendo da proporção de preenchimento do último pedaço (length
% chunkSize
==0) você pode reescrever o último documento em fs.chunks
respeitando o chunkSize
, e/ou simplesmente adicione novo(s) pedaço(s) com o incremento de n
campo. Próxima atualização length
em fs.files
e possivelmente outros metadados.