Mongodb 到 Mongodb GridFS

Mongodb to Mongodb GridFS

我是 mongodb 的新手。我想知道如果我最初使用 mongodb 编写我的应用程序,后来我想切换到 mongodb gridfs,是否可以切换(填充的大型数据库)。

因此,如果我最初使用 mongo db,并且在 运行 应用程序一段时间后,数据库文档的大小超过 16Mb,我想我将不得不切换到 gridfs。我想知道切换到 gridfs 有多容易或多难,这是否可能?

谢谢。

GridFS用于存放大文件。它在内部将数据分成块(默认为 255 KB)。让我举一个使用两种方式将 pdf 文件保存在 MongoDB 中的示例。我假设 pdf 的大小为 10 MB,以便我们可以看到正常方式和 GridFS 方式。

  • 正常方式:

    假设您想将其存储在 testDB 数据库的 normal_book 集合中。所以,整个 pdf 存储在这个集合中,当你想使用 db.normal_book.find() 获取它时,整个 pdf 将在内存中获取。

  • GridFS 方式:

    在 GridFS 中,我们有两个集合,一个用于存储数据,另一个用于存储其元数据。它将数据存储在 fs.chunks 集合中,元数据存储在 fs.files 集合中。现在,GridFS 的美妙之处在于您可以一次找到整个文件,也可以单独找到块。

Now coming to your question, there is no direct way or property to tell MongoDB that now I want to switch to GridFS. You need to reinsert data in GridFS using mongofiles command-line tool or using MongoDB's drivers.