【发布时间】:2016-03-14 19:17:55
【问题描述】:
我还没有认真考虑将 Word、Excel 等文件存储到 MongoDB 中,我想知道 - 我能否将整个 docx 或 excel 文件存储在 MongoDB 中,然后通过查询检索它们?
【问题讨论】:
我还没有认真考虑将 Word、Excel 等文件存储到 MongoDB 中,我想知道 - 我能否将整个 docx 或 excel 文件存储在 MongoDB 中,然后通过查询检索它们?
【问题讨论】:
使用 gridfs 是的。
Gridfs 是一种存储规范。它不是内置在数据库中,而是内置在驱动程序中。
您可以在此处了解更多信息:http://www.mongodb.org/display/DOCS/GridFS。
通常的实现是将您的大文档分解为较小的文档,并将这些 aprts 存储在一个由您查询文件的 fs.files 集合掌握的块集合中。
【讨论】:
MongoDB 是一个文档数据库,用于存储类似 JSON 的文档(称为 BSON)。 BSON 对象的最大大小为16 megabytes,对于某些用例来说可能太小了。
如果要存储任意大小的二进制数据,可以使用 GridFS (http://www.mongodb.org/display/DOCS/GridFS+Specification)。 GridFS 会自动将您的文档(或任何二进制数据)拆分为多个 BSON 对象 (usually 256k in size),因此您只需担心存储和检索完整的文档(无论其大小)。
据我所知,Mongoose 不支持 GridFS。但是,您可以通过its native driver's GridStore 使用 GridFS。只需运行npm install mongodb 并开始破解!
【讨论】: