mongodb怎么存储海量文件

   2025-02-15 2940
核心提示:在MongoDB中存储海量文件,可以使用GridFS,它是MongoDB提供的一种存储大文件的机制。GridFS将大文件分割成多个小的块(chunks)

在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的文件。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言