8

我还没有认真考虑将 Word、Excel 等文件存储到 MongoDB 中,我想知道 - 我是否能够在 MongoDB 中存储整个 docx 或 excel 文件,然后通过查询检索它们?

4

2 回答 2

16

使用 gridfs 是的。

Gridfs 是一种存储规范。它不是内置在数据库中,而是内置在驱动程序中。

您可以在这里找到更多信息:http ://www.mongodb.org/display/DOCS/GridFS 。

正常的实现是将您的大文档分解为较小的文档,并将这些 aprts 存储在一个由您查询文件的 fs.files 集合掌握的块集合中。

于 2012-06-20T15:23:19.247 回答
7

MongoDB 是一个文档数据库,用于存储类似 JSON 的文档(称为BSON)。BSON 对象的最大大小为16 兆字节,这对于某些用例来说可能太小了。

如果要存储任意大小的二进制数据,可以使用 GridFS ( http://www.mongodb.org/display/DOCS/GridFS+Specification )。GridFS 自动将您的文档(或任何二进制数据)拆分为多个 BSON 对象(通常大小为 256k),因此您只需要担心存储和检索完整的文档(无论它们的大小是多少)。

据我所知,Mongoose 不支持 GridFS。但是,您可以通过其本机驱动程序的 GridStore 使用 GridFS。只需运行npm install mongodb并开始黑客攻击!

于 2012-06-20T15:21:51.177 回答