資訊內(nèi)容
mongodb怎么樣存文件?
LZx少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
mongodb操作文件,主要是通過(guò)GridFS類。存儲(chǔ)文件主要存放在fs中,其中的fs是數(shù)據(jù)庫(kù)默認(rèn)的。并且GridFS是直接與數(shù)據(jù)庫(kù)打交道,與collection集合無(wú)關(guān)。LZx少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
由于MongoDB的文檔結(jié)構(gòu)為BJSON格式(BJSON全稱:Binary JSON),而BJSON格式本身就支持保存二進(jìn)制格式的數(shù)據(jù),因此可以把文件的二進(jìn)制格式的數(shù)據(jù)直接保存到MongoDB的文檔結(jié)構(gòu)中。LZx少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
但是由于一個(gè)BJSON的**大長(zhǎng)度不能超過(guò)4M,所以限制了單個(gè)文檔中能存入的**大文件不能超過(guò)4M。為了提供對(duì)大容量文件存取的支持,samus驅(qū)動(dòng)提供了“GridFS”方式來(lái)支持。 LZx少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
/** * 存儲(chǔ)文件 * @param collectionName 集合名 * @param file 文件 * @param fileid 文件id * @param companyid 文件的公司id * @param filename 文件名稱 */ public void SaveFile(String collectionName, File file, String fileid, String companyid, String filename) { try { DB db = mongoTemplate.getDb(); // 存儲(chǔ)fs的根節(jié)點(diǎn) GridFS gridFS = new GridFS(db, collectionName); GridFSInputFile gfs = gridFS.createFile(file); gfs.put("aliases", companyid); gfs.put("filename", fileid); gfs.put("contentType", filename.substring(filename.lastIndexOf("."))); gfs.save(); } catch (Exception e) { e.printStackTrace(); System.out.println("存儲(chǔ)文件時(shí)發(fā)生錯(cuò)誤!!!"); } } // 取出文件 public GridFSDBFile retrieveFileOne(String collectionName, String filename) { try { DB db = mongoTemplate.getDb(); // 獲取fs的根節(jié)點(diǎn) GridFS gridFS = new GridFS(db, collectionName); GridFSDBFile dbfile = gridFS.findOne(filename); if (dbfile != null) { return dbfile; } } catch (Exception e) { // TODO: handle exception } return null; }更多mongodb相關(guān)文章請(qǐng)關(guān)注python自學(xué)網(wǎng)。LZx少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

- 上一篇
Python怎么將列表轉(zhuǎn)字符串
簡(jiǎn)介Python怎么將列表轉(zhuǎn)字符串例子:將列表 temp_list=['h','e','l','l','o']轉(zhuǎn)換成字符串'hello',代碼如下:temp_list = [
- 下一篇
python將excel數(shù)據(jù)合并的方法
簡(jiǎn)介xlsxwriter使用介紹:import xlsxwriter# 創(chuàng)建一個(gè)工作簿并添加一個(gè)工作表workbook = xlsxwriter.Workbook(demo.xlsx)worksheet = workbo