gridfs-streamを使用して、ファイルを検索してフェッチするときのバケット名の指定方法を教えてください。gridfs-streamを使ってfind()を実行するときにGridFSバケットを指定するにはどうすればいいですか?
私の質問が解決How can I specify a GridFS bucket
でstackoverflowの上にある、次の質問へのフォローアップでは、私がcreateWriteStreamを呼び出すときにバケットを指定する方法の例を提供します。 @vsivsiによって提供されるコードに基づいて、私は次のコードで「ルート」オプションを使用して、私のカスタムバケットにファイルを追加することができる午前:
// fyi, req.file has been populated using multer
var gfs = Grid(mongoose.connection.db);
var writeStream = gfs.createWriteStream({
filename: req.file.originalname,
mode: 'w',
content_type: req.file.mimetype,
root: 'private'
});
これが正常にprivate.filesとprivate.chunksに自分のファイルを追加します。 これで、アップロードしたファイルを見つけて読みたいと思っています。バケットを使用していない私のfind()は次のようになります。
var gfs = Grid(mongoose.connection.db);
gfs.find({
filename: req.params.filename
}).toArray(function(err, files){
// bunch of processing here...
});
を今、私はバケツ/ルート照会する見つけること言うのですか?
私はcreateReadStream()を呼び出すときに同じ 'root'オプションを使用できると仮定していますが、まずそれを見つける必要があります。どのバケット/ルートを使うべきかをgridfs-streamに伝える方法はありますか?