Quarkus支持MongoDB GridFS开箱即用吗?



我正在与Quarkus开始一个新项目,并希望使用MongoDB作为我们的数据存储。

我们想上传/下载大文件(>通过REST (multipart-form)将它们与一些元数据一起存档在MongoDB中,以便以后检索。

我读到GridFS是完美的,想知道Quarkus是否支持它开箱即用?

我所能找到的是Quarkus MongoDB客户端文档和MongoDB Panache文档。但是没有特别提到GridFS支持大文件。

https://quarkus.io/guides/mongodb-panachehttps://quarkus.io/guides/mongodb

我确实看到了"Apache Camel Quarkus"的链接,它确实有gridFS支持。显然,它使用下面的Quarkus MongoDB客户端。

https://camel.apache.org/camel-quarkus/2.15.x/reference/extensions/mongodb-gridfs.html

我想我可以使用夸克骆驼,只调用组件来完成工作,但在我走那条路之前,我想知道是否有一种纯夸克方法。

纯Quarkus/Panache或Apache Camel Quarkus集成的任何示例都将受到赞赏。

我想去MongoDB的路线,而不是存储在文件系统/数据库记录,因为我不想担心事务性问题和回滚,如果我不能写文件到FS或写元数据到DB。我想使用Mongo的大文件支持将所有内容存储在一个位置。

谢谢!

目前还没有对gridFS的panache_repository支持。但是你可以直接访问底层的gridFS:

@Inject
public GridFSRepository(
@ConfigProperty(name = "quarkus.mongodb.database") String databaseName,
@ConfigProperty(name = "gridfs.bucket") String bucketName,
MongoClient mongoClient) {
MongoDatabase database = mongoClient.getDatabase(databaseName);
gridFSBucket = GridFSBuckets.create(database, bucketName);
}

最新更新