private GridFSUploadOptions getGridFSUploadOptions(String uniqueId, String fileName, boolean compress, long timestamp, Map<String, String> metadataMap) { Document metadata = new Document(); if (metadataMap != null) { for (String key : metadataMap.keySet()) { metadata.put(key, metadataMap.get(key)); } } metadata.put(TIMESTAMP, timestamp); metadata.put(COMPRESSED_FLAG, compress); metadata.put(DOCUMENT_UNIQUE_ID_KEY, uniqueId); metadata.put(FILE_UNIQUE_ID_KEY, getGridFsId(uniqueId, fileName)); return new GridFSUploadOptions().chunkSizeBytes(1024).metadata(metadata); }