MongoDB学习笔记(2)

MongoDB GridFS 文件系统

实战演练

1.通过–help选项,查看mongofile的帮助文档
mongofiles--help

2.通过mongofile -h {ip:port} -d {collectionName} put {fileName}
添加文件至数据库

其中-h选项指定主机名以及端口号,-d选项指定数据库名,put操作即为添加文件至MongoDB。

3.查看files

GridFS在数据库中,默认使用fs.chunksfs.files来存储文件。
其中fs.files集合存放文件的信息,fs.chunks存放文件数据

4.查看chunks

5.查看数据块模块包含的索引字段

6.list

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章