阅读量:4
在MongoDB中存储海量文件,可以使用GridFS,它是MongoDB提供的一种存储大文件的机制。
GridFS将大文件分割成多个小的块(chunks),每个块的默认大小为255KB,然后将这些块存储在一个名为"chunks"的集合中。同时,它还会在一个名为"files"的集合中存储文件的元数据。
以下是使用GridFS存储海量文件的步骤:
-
创建一个GridFS对象:
const gridfs = require('gridfs-stream'); const mongoose = require('mongoose'); gridfs.mongo = mongoose.mongo; const conn = mongoose.createConnection('mongodb://localhost/mydatabase'); const gfs = gridfs(conn.db); -
将文件存储到GridFS中:
const fs = require('fs'); const writestream = gfs.createWriteStream({ filename: 'example.txt' }); fs.createReadStream('path/to/example.txt').pipe(writestream); -
从GridFS中获取文件:
const readstream = gfs.createReadStream({ filename: 'example.txt' }); readstream.pipe(fs.createWriteStream('path/to/save/example.txt')); -
删除GridFS中的文件:
gfs.files.remove({ filename: 'example.txt' }, (err) => { if (err) { console.log(err); } console.log('File deleted'); });
GridFS提供了一种有效的方式来存储和检索海量文件,并且能够处理大于16MB的文件。
以上就是关于“mongodb怎么存储海量文件”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm