Spring Data Embedded Mongo:服务器上的“未知顶级运算符:$ expr”

时间:2018-09-21 13:45:56

标签: spring-data spring-data-mongodb

当我对嵌入式Mongo运行任何包含$expr操作的查询时,会出现以下错误:

UncategorizedMongoDbException: Query failed with error code 2 and error message 'unknown top level operator: $expr' on server

命令对我的本地mongo实例运行正常。

这是我使用的嵌入式mongo版本:testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo:2.1.1')

这是供参考的查询:

Criteria.where("$expr").ne(Arrays.asList("$val.a", "$val.b"))

1 个答案:

答案 0 :(得分:0)

找到了。

flapdoodle正在下载默认情况下不具有该功能的Mongodb版本。

您可以通过在

中指定以下内容来覆盖默认版本

src/test/resources/application.properties

spring.mongodb.embedded.version=3.6.4
spring.mongodb.embedded.features=SYNC_DELAY,NO_HTTP_INTERFACE_ARG,ONLY_WITH_SSL