GridFS не е основна функция на MongoDB, а конвенция за съхранение на двоични данни с придружаващи метаданни. Трябва да можете да променяте всеки документ в fs.chunks
събиране по обичайния начин, като същевременно съхранява съответния документ в fs.files
непокътнат. Основният проблем ще бъде преизчисляването на контролната сума MD5, но AFAIK не се използва никъде и е просто "безплатен" бонус. Както и да е, все още е възможно модификация само с добавяне (вижте MD5 дайджест на възобновено изтегляне).
Така че, за да добавите към съществуващ GridFS файл, трябва да намерите съответния документ в fs.files
. След това в зависимост от коефициента на запълване на последното парче (length
% chunkSize
==0) или пренаписвате последния документ в fs.chunks
спазвайки chunkSize
, и/или просто добавете нова(и) част(и) с увеличаване на n
поле. Следваща актуализация length
в fs.files
и евентуално други метаданни.