我还没有考虑将文件(如Word,Excel等)严格存储到MongoDB中,我想知道 - 我能在MongoDB中存储整个docx或excel文件,然后通过查询来检索它们吗?
答案 0 :(得分:15)
使用gridfs是。
Gridfs是一种存储规范。它不是内置在数据库中,而是内置于驱动程序中。
您可以在此处找到更多信息:http://www.mongodb.org/display/DOCS/GridFS。
正常的实现是将大文档分解为较小的文档并将这些aprts存储在由查询文件的fs.files集合掌握的块集合中。
答案 1 :(得分:6)
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
并开始黑客攻击!