2017-06-23 35 views
0

我對Spring Data使用MongoDB。此查詢工作:Spring數據MongoDB:java.lang.String不能轉換爲com.mongodb.DBObject

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

但此查詢不工作,並拋出「java.lang.String中不能轉換到com.mongodb.DBObject」:

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

我想查詢寫得很好, 任何想法?謝謝。

回答

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

+0

感謝!!!!!!!!! – italktothewind

相關問題