下面列出了怎么用com.mongodb.client.gridfs.GridFSBuckets的API类实例代码及写法,或者点击链接到github查看源代码。
public boolean fileHasProperties(String name, String bucketName, Map<String, String> attrs) {
GridFSBucket bucket = GridFSBuckets.create(client.getDatabase(DB), bucketName);
MongoCursor it = bucket.find(Document.parse(String.format("{ \"filename\": \"%s\" }", name))).iterator();
boolean retVal = false;
if (it.hasNext()) {
GridFSFile file = (GridFSFile)it.next();
Document metadata = file.getMetadata();
if (metadata != null && metadata.size() == attrs.size()) {
retVal = true;
for (Map.Entry<String, Object> entry : metadata.entrySet()) {
Object val = attrs.get(entry.getKey());
if (val == null || !entry.getValue().equals(val)) {
retVal = false;
break;
}
}
}
}
it.close();
return retVal;
}
protected GridFSBucket getBucket(FlowFile input, ProcessContext context) {
final String name = getBucketName(input, context);
if (StringUtils.isEmpty(name)) {
return GridFSBuckets.create(getDatabase(input, context));
} else {
return GridFSBuckets.create(getDatabase(input, context), name);
}
}
public boolean fileExists(String name, String bucketName) {
GridFSBucket bucket = GridFSBuckets.create(client.getDatabase(DB), bucketName);
MongoCursor it = bucket.find(Document.parse(String.format("{ \"filename\": \"%s\" }", name))).iterator();
boolean retVal = it.hasNext();
it.close();
return retVal;
}
public ObjectId writeTestFile(String fileName, String content, String bucketName, Map<String, Object> attrs) {
GridFSBucket bucket = GridFSBuckets.create(client.getDatabase(DB), bucketName);
GridFSUploadOptions options = new GridFSUploadOptions().metadata(new Document(attrs));
ByteArrayInputStream input = new ByteArrayInputStream(content.getBytes());
ObjectId retVal = bucket.uploadFromStream(fileName, input, options);
return retVal;
}
public MongoFileService(MongoDatabase mongoDatabase, String bucket) {
this.bucket = GridFSBuckets.create(mongoDatabase, bucket == null ? "fs" : bucket);
}
MongoDbStore(MongoDatabase database) {
this.database = database;
attachmentGrid = GridFSBuckets.create(database, "attachments");
thumbnailGrid = GridFSBuckets.create(database, "thumbnails");
metadataGrid = GridFSBuckets.create(database, "metadata");
}
private GridFSBucket createGridFSConnection() {
MongoDatabase db = mongoClient.getDatabase(database);
return GridFSBuckets.create(db, ASSOCIATED_FILES);
}