Spring Data MongoDB:java.lang.String无法强制转换为com.mongodb.DBObject

时间:2017-06-23 17:27:01

标签: spring mongodb spring-data spring-data-jpa

我使用MongoDB和Spring Data。此查询有效:

@Query("{ 'user.token' : ?0 }")
List<Event> findByUserKey(String userKey);

但是这个查询不起作用并抛出&#34; java.lang.String无法强制转换为com.mongodb.DBObject&#34;:

@Query("'$or':[ { 'user.token' : ?0 } , { 'user.id' : ?0 } ]")
List<Event> findByUserKey(String userKey);

我认为查询写得很好,任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

查询需要一份文件。在查询字符串周围添加括号。

@Query("{'$or':[ { 'user.token' : ?0 } , { 'user.id' : ?0 } ]}")
List<Event> findByUserKey(String userKey);

你需要spring boot 1.5.2 / spring mongo 1.10.1版本才能正确解析占位符。

https://jira.spring.io/browse/DATAMONGO-1603