Spring MongoRepository @Query JSONParseException
Spring MongoRepository @Query JSONParseException
我有以下 MongoDB 个实体:
public class Player {
@Id
private String id;
private String username;
private int rating;
private boolean active;
}
public class Match {
@Id
private String id;
@DBRef
private Player playerOne;
@DBRef
private Player playerTwo;
}
我尝试获取所有玩家的匹配项。这意味着例如我有当前玩家并且当playerOne == 当前玩家 或[=时应该为匹配返回匹配列表39=] playerTwo == 当前玩家。我为此使用了 MongoRepository:
public interface MatchRepository extends MongoRepository<Match, String> {
@Query(value = "{'$or': [{'playerOne.id': ?0}, {'playerTwo.id': ?0}]}")
List<Match> findByPlayerId(String playerId);
}
当我执行 findByPlayerId 方法时,我检索到以下错误:
Caused by: com.mongodb.util.JSONParseException:
{'$or': [{'playerOne.id': "58ea191756a4302290fff9b1"}, {'playerTwo.id': "58ea191756a4302290fff9b1"0}]}
我注意到错误消息末尾有奇怪的 0
字符:"0}]}
我也做了一些解决方法并将相同的 player.id
作为第二个方法参数传递,它工作正常:
@Query(value = "{'$or': [{'playerOne.id': ?0}, {'playerTwo.id': ?1}]}")
List<Match> findByPlayerId(String playerId, String palyerId2);
您知道为什么首先要处理 returns JSONParseException 吗?
这是更改的票据。它已被解决并发布。尝试引导版本 1.5.2 及更高版本或 spring mongo 1.10.1 及更高版本。
我有以下 MongoDB 个实体:
public class Player {
@Id
private String id;
private String username;
private int rating;
private boolean active;
}
public class Match {
@Id
private String id;
@DBRef
private Player playerOne;
@DBRef
private Player playerTwo;
}
我尝试获取所有玩家的匹配项。这意味着例如我有当前玩家并且当playerOne == 当前玩家 或[=时应该为匹配返回匹配列表39=] playerTwo == 当前玩家。我为此使用了 MongoRepository:
public interface MatchRepository extends MongoRepository<Match, String> {
@Query(value = "{'$or': [{'playerOne.id': ?0}, {'playerTwo.id': ?0}]}")
List<Match> findByPlayerId(String playerId);
}
当我执行 findByPlayerId 方法时,我检索到以下错误:
Caused by: com.mongodb.util.JSONParseException:
{'$or': [{'playerOne.id': "58ea191756a4302290fff9b1"}, {'playerTwo.id': "58ea191756a4302290fff9b1"0}]}
我注意到错误消息末尾有奇怪的 0
字符:"0}]}
我也做了一些解决方法并将相同的 player.id
作为第二个方法参数传递,它工作正常:
@Query(value = "{'$or': [{'playerOne.id': ?0}, {'playerTwo.id': ?1}]}")
List<Match> findByPlayerId(String playerId, String palyerId2);
您知道为什么首先要处理 returns JSONParseException 吗?
这是更改的票据。它已被解决并发布。尝试引导版本 1.5.2 及更高版本或 spring mongo 1.10.1 及更高版本。