Sommaire

Les collections chunks et files Collection:chunks Collection:files

GridFS GridFS:chunks GridFS:files s’appuie sur deux collections pour gérer ces gros fichiers : la première, nommée chunks, héberge les documents qui constituent le fichier tandis que la seconde, nommée files, contient les métadonnées associées au fichier. Dans chunks, nous trouverons notamment le numéro de séquence du morceau de fichier et son contenu sous forme binaire (BSON, qui d’autre ?) et dans files, des informations telles que la date de téléchargement, la taille de chaque morceau de fichier ou le nom du fichier éclaté en plusieurs chunks.

Ces collections doivent être indexées et ces index sont créés automatiquement par les pilotes si vous utilisez MongoDB depuis votre langage de développement favori. Toutefois, si vous opérez comme nous le faisons à partir du shell, il se peut que vous ayez à les créer vous-mêmes à l’aide des commandes suivantes :

db.fs.chunks.createIndex( { files_id: 1, n: 1 }, { unique: true } ); 
db.fs.files.createIndex( { filename: 1, uploadDate: 1 } );

Ces deux collections peuvent être shardées si vous le souhaitez : pour chunks la clé de sharding pourra être constituée du champ files_id éventuellement couplé à un autre tandis que pour files la clé de sharding pourra être composée du champ ...