我使用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);
我认为查询写得很好,任何想法?感谢。
答案 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版本才能正确解析占位符。