GridFS är inte en kärnfunktion i MongoDB utan en konvention för att lagra binär data med åtföljande metadata. Du bör kunna ändra vilket dokument som helst i fs.chunks
insamling på vanligt sätt samtidigt som motsvarande dokument behålls i fs.files
intakt. Det största problemet kommer att vara att räkna om MD5-kontrollsumman, men AFAIK används den inte någonstans och är bara en "gratis" bonus. Hur som helst är det fortfarande möjligt att endast lägga till ändringar (se MD5 sammanfattning av en återupptagen nedladdning).
Så för att lägga till en befintlig GridFS-fil måste du hitta motsvarande dokument i fs.files
. Sedan beroende på sista bitens fyllnadsförhållande (length
% chunkSize
==0) antingen skriver du om det sista dokumentet i fs.chunks
respekterar chunkSize
, och/eller helt enkelt lägg till nya bit(ar) med ökande n
fält. Nästa uppdatering length
i fs.files
och eventuellt annan metadata.