mongodb存文件的方式是什么
小编给大家分享一下mongodb存文件的方式是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
mongodb操作文件,主要是通过GridFS类。存储文件主要存放在fs中,其中的fs是数据库默认的。并且GridFS是直接与数据库打交道,与collection集合无关。
由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。
但是由于一个BJSON的最大长度不能超过4M,所以限制了单个文档中能存入的最大文件不能超过4M。为了提供对大容量文件存取的支持,samus驱动提供了“GridFS”方式来支持。
/***存储文件*@paramcollectionName集合名*@paramfile文件*@paramfileid文件id*@paramcompanyid文件的公司id*@paramfilename文件名称*/publicvoidSaveFile(StringcollectionName,Filefile,Stringfileid,Stringcompanyid,Stringfilename){try{DBdb=mongoTemplate.getDb();//存储fs的根节点GridFSgridFS=newGridFS(db,collectionName);GridFSInputFilegfs=gridFS.createFile(file);gfs.put("aliases",companyid);gfs.put("filename",fileid);gfs.put("contentType",filename.substring(filename.lastIndexOf(".")));gfs.save();}catch(Exceptione){e.printStackTrace();System.out.println("存储文件时发生错误!!!");}}//取出文件publicGridFSDBFileretrieveFileOne(StringcollectionName,Stringfilename){try{DBdb=mongoTemplate.getDb();//获取fs的根节点GridFSgridFS=newGridFS(db,collectionName);GridFSDBFiledbfile=gridFS.findOne(filename);if(dbfile!=null){returndbfile;}}catch(Exceptione){//TODO:handleexception}returnnull;}
看完了这篇文章,相信你对mongodb存文件的方式是什么有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。