我现在使用perl脚本客户端将一些大数据存储到mongoDB中。但是现在我遇到了一个问题,有些文件超出了16M的大小限制,所以,我必须选择GridFS。从GridFS文件中,我读了这个:
GridFS是用于存储和检索超过BSON文档大小限制为16MB的文件的规范。
GridFS不是将文件存储在单个文档中,而是将文件分成多个部分或块[1],并将每个块存储为单独的文档。默认情况下,GridFS将块大小限制为256k。
它确实让我感到困惑。“文件”是什么意思?“而不是将文件存储在单个文档中”,这意味着,mongoDB将文件存储在单个文档中而不使用GridFS,对吧?但我认为它应该说:“而不是将文档存储在单个文件中,......”因此,“文件”和“文档”之间的关系和区别使我感到困惑。
答案 0 :(得分:1)
“文件”是什么意思?
一个文件。单词文档,Excel电子表格,HTML文件等任何文件。 GridFS专为文件存储而设计。
这意味着,mongoDB将文件存储在单个文档中
MongoDB没有做任何事情,它甚至不管理GridFS,文档假设您在遇到单个文档的有限大小后来到GridFS,就像您一样。
而不是将文档存储在单个文件中,......
不,这是不正确的。什么是文件? MongoDB自己的记录称为文档,如何将这些文件存储在数据库中?您将数据存储在数据库中的文档中。
因此,“文件”和“文档”之间的关系和区别使我感到困惑。
文件是物理文件,文档基本上是一行。