Write stream into mongoDB in Java Write stream into mongoDB in Java mongodb mongodb

Write stream into mongoDB in Java


You can use GridFS. Especially when you need to store larger files (>16MB) this is the recommended method:

File f = new File("sample.zip");GridFS gfs = new GridFS(db, "zips");GridFSInputFile gfsFile = gfs.createFile(f);gfsFile.setFilename(f.getName());gfsFile.setId(id);gfsFile.save();

Or in case you have an InputStream in:

GridFS gfs = new GridFS(db, "zips");GridFSInputFile gfsFile = gfs.createFile(in);gfsFile.setFilename("sample.zip");gfsFile.setId(id);gfsFile.save();

You can load a file using one of the GridFS.find methods:

GridFSDBFile gfsFile = gfs.findOne(id);InputStream in = gfsFile.getInputStream();