MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como posso especificar um bucket GridFS?


Isso não está bem documentado no gridfs-stream ou no driver mongodb nativo subjacente que ele usa, mas aqui está como você faz isso:

Aqui estão as options objeto do gridfs-stream createWriteStream exemplo (observe a root opção):
{
   _id: '50e03d29edfdc00d34000001', 
   filename: 'my_file.txt',         
   mode: 'w', 
   chunkSize: 1024, 
   content_type: 'plain/text', 
   root: 'my_collection',  // Bucket will be 'my_collection' instead of 'fs'
   metadata: {
       ...
   }
}

Por que funciona:

gridfs-stream passa pelas options objeto você passa uma chamada para createWriteStream ou createReadStream para o driver mongodb subjacente para criar um gridStore objeto para representar o arquivo. O driver mongodb, por sua vez, reconhece root nas options objeto como uma substituição da string de prefixo de bucket de grade "fs" padrão.