MongoDB GridFS 檔案系統
實戰演練
1.通過–help選項,查看mongofile的協助文檔
2.通過mongofile -h {ip:port} -d {collectionName} put {fileName}
其中-h選項指定主機名稱以及連接埠號碼,-d選項指定資料庫名,put操作即為添加檔案至MongoDB。
3.
GridFS在資料庫中,預設使用fs.chunks和fs.files來隱藏檔。
其中fs.files集合存放檔案的資訊,fs.chunks存放檔案資料
4.
5.
6.
list:擷取檔案清單
get:擷取檔案
delete:刪除檔案
search:查詢檔案
7.通過Java Driver操作MongoDB
【網友實現】MongoDB GridFS 檔案系統
public class GridfsDemon{ public static void main(String[] args) { // TODO Auto-generated method stub String URL = "192.168.136.138:27017"; MongoClient mongoClient = new MongoClient(URL); DB db = mongoClient.getDB("jike"); GridFS gridFS = new GridFS(db); File file = new File(System.getProperty("user.home") + "/MongoDB-manaul.pdf"); try {// 存檔案 FileInputStream fileInputStream = new FileInputStream(file); GridFSInputFile createFile = gridFS.createFile(fileInputStream); createFile.put("fileName", "MongoDB_manual_3.0_2.pdf"); createFile.put("contentType", "application/pdf"); createFile.save();// 取檔案 GridFSDBFile findOne = gridFS.findOne(new BasicDBObject("_id", createFile.getId())); System.out.println(findOne);// 取檔案清單 DBCursor fileList = gridFS.getFileList(); while(fileList.hasNext()){ System.out.println(fileList.next()); }// 刪除檔案 gridFS.remove(new BasicDBObject("_id",createFile.getId())); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { mongoClient.close(); } }}
由上圖可見,通過java driver檔案成功上傳至MongoDB中。