【问题标题】:Mongodb to Mongodb GridFSMongodb 到 Mongodb GridFS
【发布时间】:2015-08-22 00:58:23
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 也许你的问题的一些上下文而不是一个句子可以解释你想要什么
  • 在这里为您提供帮助。你真的需要做更多的事情。看到这个:stackoverflow.com/help/how-to-ask
  • 希望问题现在已经清楚了!
  • 如果使用任何原生驱动进行编码,您需要为 GrdFS 编写不同的代码。
  • 嘿,开发者,非常感谢您的评论。从普通的 mongo db 转换为 gridfs 是否有问题。我的意思是数据库中的数据(不是编码部分)。

标签: mongodb gridfs


【解决方案1】:

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

  • 正常方式:

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

  • GridFS 方式:

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

现在来回答您的问题,没有直接的方法或属性可以 告诉MongoDB,现在我想切换到GridFS。你需要 使用mongofiles 命令行工具重新插入 GridFS 中的数据或 使用 MongoDB 的drivers

【讨论】:

  • @Vijay 尝试探索文档以了解更多信息。您可以询问是否需要任何说明或代码示例。
  • 感谢开发者,感谢您的帮助!
猜你喜欢
  • 2012-04-28
  • 2015-03-04
  • 2012-01-20
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多