我尝试在azure上部署一个java spring应用程序。此应用程序使用本地MongoDB 4.0。我尝试用Azure CosmosDB替换它。连接正常但运行我的应用程序测试会出现以下错误:
“http://org.springframework.data .mongodb.UncategorizedMongoDbException:查询失败,错误代码为2,错误消息'不支持投影操作符'。在服务器上... http://...azure.com:10255;嵌套异常是com.mongodb.MongoQueryException:查询失败,错误代码2和错误消息'不支持投影操作符'。“投影操作符似乎是由MongoRepository类生成的。
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);
}
用于MongoDB的Azure Cosmos DB的API的Protocol support默认情况下与MongoDB服务器版本3.2兼容,并在v3.4的Public Preview下兼容。目前不支持4.0版,但请注意以下UserVoice条目:Support for transactions via Mongo 4.0 API