MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Ajouter des données au fichier gridfs existant

GridFS n'est pas une fonctionnalité essentielle de MongoDB mais une convention de stockage de données binaires avec les métadonnées associées. Vous devriez pouvoir modifier n'importe quel document dans fs.chunks collecte de manière habituelle tout en conservant le document correspondant dans fs.files intact. Le principal problème sera de recalculer la somme de contrôle MD5, mais AFAIK, il n'est utilisé nulle part et n'est qu'un bonus "gratuit". Quoi qu'il en soit, il est toujours possible de modifier uniquement par ajout (voir le résumé MD5 d'un téléchargement repris).

Donc, pour ajouter à un fichier GridFS existant, vous devez localiser le document correspondant dans fs.files . Ensuite, en fonction du taux de remplissage du dernier morceau (length % chunkSize ==0) soit vous réécrivez le dernier morceau de document dans fs.chunks en respectant le chunkSize , et/ou simplement ajouter de nouveaux morceaux en incrémentant n domaine. Prochaine mise à jour length dans fs.files et éventuellement d'autres métadonnées.