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中。