java - 如何修复 CosmosDB for MongoDB api 上的 'Projection operator not supported' 错误?

标签 java spring mongodb azure-cosmosdb

我尝试在azure上部署java spring应用程序。 该应用程序使用本地MongoDB 4.0。我尝试将其替换为 Azure CosmosDB。连接正常,但运行我的应用程序测试会出现以下错误:

"http://org.springframework.data .mongodb.UncategorizedMongoDbException: Query failed with error code 2 and error message 'Projection operator not supported.' on server …http://...azure.com:10255 ; nested exception is com.mongodb.MongoQueryException: Query failed with error code 2 and error message 'Projection operator not supported.'" Projection operator seems to be generated by MongoRepository class.

    import org.springframework.data .mongodb.repository.MongoRepository;
    import org.springframework.data .mongodb.repository.Query;
    import org.springframework.stereotype.Repository;

    @Repository
    public interface UserRepository extends MongoRepository<User, UUID>, UserRegexSearch{

        public Optional<User> findByEmail(String email);
    }

最佳答案

Azure Cosmos DB 的 MongoDB API 的 Protocol support 默认与 MongoDB 服务器版本 3.2 兼容,并且在 v3.4 的公共(public)预览版下兼容。目前不支持 4.0 版本,但请对以下 UserVoice 条目进行投票和评论:Support for transactions via Mongo 4.0 API

关于java - 如何修复 CosmosDB for MongoDB api 上的 'Projection operator not supported' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920818/

相关文章:

java - 关于 switch 使用的一点小帮助

java - 如何为所有 Controller 和页面仅绑定(bind)一次共享片段的数据?

javascript - 查找文档,然后在数组中查找条目并将其从数组中删除

mongodb - 导入和清除 MongoDB 数据库

java - build.gradle 文件的 main-class 属性是什么?

java - 基础阵法技能 : Label Each Element

java - 当您在 Java 中实现接口(interface)时,它是显式的还是隐式的?

spring - 如何在Spring Boot + Cloud中禁用refreshScope运行状况指示器?

java - Spring boot启动异常ServerPropertiesAutoConfiguration.class]无法打开,因为它不存在

java - 如何在java spring boot中使用mongoDB高级过滤器