我正在使用 express 和 node 中的 GridFS 库。我正在尝试创建多个存储桶。例如,我已经有一个名为 avatars 的存储桶,用于存储图像。
/* Start of mongo connection for uploading files */
const mongoURI = "mongodb://localhost:27017/PTAdata";
const conn = mongoose.createConnection(mongoURI);
let gfs;
conn.once('open', () => {
gfs = stream(conn.db, mongoose.mongo);
gfs.collection('avatars');
})
const storage = new GridFs({
url: "mongodb://localhost:27017/PTAdata",
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err);
}
file.user = req.body.username
const name = file.originalname
const filename = buf.toString('hex') + path.extname(file.originalname);
const fileInfo = {
filename: file.user,
bucketName: 'avatars'
};
resolve(fileInfo);
});
});
}
});
const upload = multer({ storage });
我现在想创建另一个名为 audio 的存储桶来存储 mp3 文件。我在https://docs.mongodb.com/manual/core/gridfs/检查了 GridFS 的文档,它指出“您可以选择不同的存储桶名称,以及在单个数据库中创建多个存储桶。” 但是,它没有提供任何见解或步骤。有没有人使用过 GridFS 库并知道如何创建多个存储桶?