sql >> Databasteknik >  >> NoSQL >> MongoDB

Lägg till data till befintlig gridfs-fil

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.




  1. Hur man säkerhetskopierar din Open edX MongoDB-databas

  2. MongoDB $exp

  3. Beräkna överhoppningsvärde för given post för sorterad personsökning

  4. Native MongoDB-maskering (tredje metoden)