【问题标题】:How should I understand mongoDB GridFS?我应该如何理解 mongoDB GridFS?
【发布时间】:2013-09-15 02:58:02
【问题描述】:

我现在正在使用perl脚本客户端将一些大数据存储到mongoDB中。但是现在我遇到了一个问题,一些文件超过了16M的大小限制,所以我必须选择GridFS。从GridFS文档中,我读到了这个:

GridFS 是一种用于存储和检索超过 BSON 文档大小限制 16MB 的文件的规范。

GridFS 不是将文件存储在单个文档中,而是将文件划分为部分或块,[1] 并将这些块中的每一个存储为单独的文档。默认情况下,GridFS 将块大小限制为 256k。

这真的让我很困惑。“文件”是什么意思?“而不是将文件存储在单个文档中”,它的意思是,mongoDB在不使用GridFS的情况下将文件存储在单个文档中,对吧?但我认为它应该说:“而不是将文档存储在单个文件中,......”。所以,“文件”和“文档”之间的关系和区别让我感到困惑。

【问题讨论】:

标签: mongodb document gridfs


【解决方案1】:

“文件”是什么意思?

一个文件。 Word 文档、Excel 电子表格、HTML 文件任何属于文件的内容。 GridFS 专为文件存储而设计。

这意味着,mongoDB 将文件存储在单个文档中

MongoDB 不做任何事情,它甚至不管理 GridFS,文档假设您在遇到单个文档的大小有限之后来到 GridFS,就像您一样。

不是将文档存储在单个文件中,而是...

不,这是不正确的。什么是文件? MongoDB自己的记录称为文档,如何将它们存储在数据库的文件中?您将数据存储在数据库的文档中。

所以,“文件”和“文档”之间的关系和区别让我感到困惑。

文件是物理文件,文档基本上是一行。

【讨论】:

  • 但是我必须使用 GridFS 的原因是我的单个文档(不是“文件”,如视频或音乐)超过了限制。所以,我不知道我的下一个是什么步骤
  • 在我看来,我不需要知道 MongoDB 如何将我的文档、我的集合或我的数据库存储到一个或多个文件中。但是现在,使用 GridFS,“文件”似乎来自后台到前台。这让我很困惑。
  • 高,我真的需要你的帮助。我的意思是,它不是一个简单的物理文件,如“hello.rmvb”或“love.mp3”超过限制,它是几个非常超过限制的大基因序列字符串(不是作为文件存储,而是在内存中读取)。那么,我该怎么做才能解决这个问题?
  • @Vico_Wu 嗯,如果你正在做的是基因研究,那么我记得谷歌组上的另一个帖子
  • 不,这只是一个项目。我只学了一个星期的mongoDB。
猜你喜欢
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 2015-08-22
  • 2021-11-24
  • 2012-04-28
  • 2020-12-06
  • 1970-01-01
相关资源
最近更新 更多