GridFS nie jest podstawową funkcją MongoDB, ale konwencją przechowywania danych binarnych z towarzyszącymi metadanymi. Powinieneś być w stanie zmodyfikować dowolny dokument w fs.chunks
kolekcja w zwykły sposób, zachowując odpowiedni dokument w fs.files
nienaruszony. Głównym problemem będzie przeliczenie sumy kontrolnej MD5, ale AFAIK nie jest nigdzie używany i jest tylko „darmowym” bonusem. W każdym razie nadal możliwe jest modyfikowanie tylko dodawania (patrz skrót MD5 wznowionego pobierania).
Aby więc dołączyć do istniejącego pliku GridFS, musisz zlokalizować odpowiedni dokument w fs.files
. Następnie w zależności od ostatniego współczynnika wypełnienia porcji (length
% chunkSize
==0) albo przepisujesz ostatnią porcję dokumentu w fs.chunks
z poszanowaniem chunkSize
, i/lub po prostu dodaj nowe porcje, zwiększając n
pole. Następna aktualizacja length
w fs.files
i ewentualnie inne metadane.