public void test {
//使用starter注入的client客户端信息
//也可以自己去配置中心注册
@Autowired
private MongoClient client;
public byte[] getOtherDataBaseData(String database, String gridFsName, String objectId) {
//获取新的mongo数据库
MongoDatabase mongoDatabase = client.getDatabase(database);
//获取当前库下面指定名称的数据桶
GridFSBucket gridFSBucket = GridFSBuckets.create(mongoDatabase,str[1]);
//根据ObjectId 获取下载流对象
ObjectId objectId = new ObjectId(str[2]);
GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(objectId);
//获取文件信息
GridFSFile gfsFile = gridFSDownloadStream.getGridFSFile();
//获取资源对象
GridFsResource gridFsResource = new GridFsResource(gfsFile, gridFSDownloadStream);
return IOUtils.toByteArray(gridFsResource.getInputStream());
}
}
该方法是,springboot配置默认数据库后,待查数据又存在其他数据库时,可采用该方法进行数据库的切换。
最重要的是通过 默认的mongo客户端 调用getDataBase 方法实现数据库切换。