MongoDB 中 GridFS 应用实战详解

什么是 GridFS?

GridFS 是 MongoDB 中用于存储大文件的一种方式,允许将大文件分割成多个小文件存储在 MongoDB 数据库中。GridFS 适合存储诸如音频、视频、图像等大型二进制文件。

GridFS 通过将大文件分割成多个小文件,每个小文件的默认大小为 255KB,然后将这些小文件存储到 MongoDB 的两个集合中:fs.chunks 和 fs.files。fs.chunks 集合存储实际的文件数据,而 fs.files 集合则存储文件的元数据。

如何使用 GridFS?

安装 MongoDB

首先,我们需要在本地安装 MongoDB。可以访问 MongoDB 的官方网站 https://www.mongodb.com/ 下载最新的 MongoDB 安装包。安装完成后,启动 MongoDB 服务。

连接 MongoDB

在 Node.js 中使用 MongoDB 需要使用官方提供的驱动程序。可以使用 npm 安装官方的 MongoDB 驱动程序:

--- ------- -------

在代码中,使用以下语句连接 MongoDB:

----- ----------- - -------------------------------
----- --- - --------------------------------------
------------------------ ------------- ------- -
  ---------------------- ------------ -- ---------
  ----- -- - -----------------------
  ---------------
---

存储文件

下面是一个简单的代码示例,演示如何将一个文件存储到 GridFS 中:

----- ----------- - -------------------------------
----- -- - --------------
----- --- - --------------------------------------
----- -------- - --------------
------------------------ ------------- ------- -
  ----- -- - -----------------------
  ----- ------ - --- -------------------------
  ----- ---------- - ------------------------------
  ----- ------------ - ----------------------------------
  ------------------------------
  ------------------------- ---------- -
    ----------------- -------- ---------------
    ---------------
  ---
---

读取文件

下面是一个简单的代码示例,演示如何从 GridFS 中读取一个文件:

----- ----------- - -------------------------------
----- -- - --------------
----- --- - --------------------------------------
----- -------- - --------------
------------------------ ------------- ------- -
  ----- -- - -----------------------
  ----- ------ - --- -------------------------
  ----- -------------- - ------------------------------------------
  ----- ----------- - -------------------------------
  ---------------------------------
  ------------------------ ---------- -
    ----------------- ---------- ---------------
    ---------------
  ---
---

总结

GridFS 是 MongoDB 中存储大文件的一种方式,通过将大文件分割成多个小文件存储在 MongoDB 的 fs.chunks 和 fs.files 集合中。在 Node.js 中使用 GridFS 需要使用官方提供的 MongoDB 驱动程序。使用 GridFS 存储文件需要创建 GridFSBucket 实例,并使用 openUploadStream 方法上传文件。使用 GridFS 读取文件需要创建 GridFSBucket 实例,并使用 openDownloadStreamByName 方法下载文件。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66090db9d10417a222788700