MongoDb--初识

来源:互联网 发布:软件著作权代办 编辑:程序博客网 时间:2024/06/05 22:17

MongoDb初学者一个比较好的网站:http://www.runoob.com/mongodb/mongodb-create-database.html


一、java链接Mongo读取文件的例子:

public class MongoGridFSTest {    private static MongoClient mongoClient = null;    private static DB db = null;    private static GridFS gridFS = null;    private static String dbName = "360loan";    public static void main(String[] args) throws UnknownHostException, Exception {        mongoClient = new MongoClient("jira.360haojie.loan", 7952);        db = mongoClient.getDB(dbName);        gridFS = new GridFS(db);        String file = "D:\\20170907185929.zip";        if (!new File(file).exists()) {            System.out.println("file is not exists.");        }        String fileName = "20170907185929.zip";        //把文件保存到gridfs中,并以文件的md5值为id        save(new FileInputStream(file), fileName, fileName);        //据文件名从gridfs中读取到文件        GridFSDBFile gridFSDBFile = getByFileName(fileName);        if (gridFSDBFile != null) {            System.out.println("filename:" + gridFSDBFile.getFilename());            System.out.println("md5:" + gridFSDBFile.getMD5());            System.out.println("length:" + gridFSDBFile.getLength());            System.out.println("uploadDate:" + gridFSDBFile.getUploadDate());            System.out.println("--------------------------------------");            gridFSDBFile.writeTo(new FileOutputStream("D:\\20170907185929-temp.zip"));        } else {            System.out.println("can not get file by name:" + fileName);        }    }    /**     * 用给出的id,保存文件,透明处理已存在的情况     * id 可以是string,long,int,org.bson.types.ObjectId 类型     *     * @param in     * @param id     */    public static void save(InputStream in, Object id, String fileName) {        DBObject query = new BasicDBObject("_id", id);        GridFSDBFile gridFSDBFile = gridFS.findOne(query);        if (gridFSDBFile != null) {            gridFS.remove(gridFSDBFile);        }        GridFSInputFile gridFSInputFile = gridFS.createFile(in);        gridFSInputFile.setId(id);        gridFSInputFile.setFilename(fileName);        //gridFSInputFile.setChunkSize();        //gridFSInputFile.setContentType();        //gridFSInputFile.setMetaData();        gridFSInputFile.save();    }    /**     * 据id返回文件     *     * @param id     * @return     */    public static GridFSDBFile getById(Object id) {        DBObject query = new BasicDBObject("_id", id);        GridFSDBFile gridFSDBFile = gridFS.findOne(query);        return gridFSDBFile;    }    /**     * 据文件名返回文件,只返回第一个     *     * @param fileName     * @return     */    public static GridFSDBFile getByFileName(String fileName) {        DBObject query = new BasicDBObject("filename", fileName);        GridFSDBFile gridFSDBFile = gridFS.findOne(query);        return gridFSDBFile;    }}


原创粉丝点击