mongodb - 如何在 Spring Boot 中禁用 GridFS MD5 计算?

标签 mongodb spring-boot spring-data spring-data-mongodb gridfs

现在 GridFS 文件集合的 md5 属性已经过时,不需要驱动程序来计算它,所以我想禁用它以节省几毫秒......

MongoDB Java 驱动程序确实在 GridFSBucketImpl 中提供了一个选项 disableMD5,但是因为我使用的是 Spring Boot 的 GridFsTemplate (spring-data- mongodb 2.1.2.RELEASE) 我没有直接访问它的权限。 GridFsTemplate 有一个方法 getGridFs() 返回为当前数据库和存储桶名称配置的 GridFSBucket,但不幸的是这个方法是私有(private)的,所以我可以'覆盖它。

那么我的选择是什么?我是否必须覆盖所有 GridFsTemplate?我错过了某个地方的简单设置吗?我应该向 Spring 提交功能请求吗?

更新 显然 GridFsTemplate 并不意味着要扩展(尽管它只需要 getGridFs 和几个要保护的字段)所以我最终创建了自己的 CustomGridFsTemplate,它几乎是 GridFsTemplate 的副本,只是我在 getGridFs 中调用了 GridFSBucket.withDisableMD5(true)

我对此不是很满意,但它确实有效,而且我目前看不到更好的选择。

更新 2 我已经提交了 Spring 功能请求,请为它投票! https://jira.spring.io/browse/DATAMONGO-2165

最佳答案

目前没有更好的办法。看起来你提交了 a ticket扩展 GridFsTemplate 以允许自定义。

关于mongodb - 如何在 Spring Boot 中禁用 GridFS MD5 计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728853/

相关文章:

python - 如何删除 pymongo.Database.Database 对象

mongodb - 使用 mongodump 和 mongorestore 后数据丢失?

java - 我应该如何获得 2 个 list<Object> 之间的差异

spring-boot - spring boot server.jetty.acceptors 和 spring boot server.tomcat.max-connections 的默认数量是多少

node.js - 不同类型帖子/文章的 Mongodb 模式

node.js - 如何使用GridFS保存已保存文件的ID?

spring-mvc - 如何在没有xml的情况下配置thymeleaf-extras-springsecurity4?

java - Spring Data Cassandra 中的 @PrimaryKeyColumn 和 @PrimaryKey 有什么区别?

java - 如何使用 Spring Data Pagination 在一页中获取所有结果

java - 如何使用 boot 2.0 和 Neo4j SDN5 在 Spring 单元测试中配置我自己的 GraphDatabaseService 和 GraphAwareRuntime