我设法在双字段上建立LIKE查询。
Query query = new Query();Set<String> gameType = new HashSet<>();List<Criteria> andCriteria = new ArrayList<>();String game = "football";int salary = 250;gameType.add(game);andCriteria.add(Criteria.where("type").in(gameType));andCriteria.add(Criteria.where("$where").is("/^" + salary + ".*/.test(this.salary)"));Criteria[] criteriaArray = new Criteria[andCriteria.size()];criteriaArray = andCriteria.toArray(criteriaArray);query.addCriteria(new Criteria().andOperator(criteriaArray));List<Players> players = mongoTemplate.find(query, Players.class);return players;正如我上面发布的那样,此代码段生成了LIKE。
您也可以用简单的方式做到这一点。
Query query = new Query();Set<String> gameType = new HashSet<>();String game = "football";int salary = 250;gameType.add(game);query.addCriteria(Criteria.where("type").in(gameType));query.addCriteria(Criteria.where("$where").is("/^" + salary + ".*/.test(this.salary)"));List<Players> players = mongoTemplate.find(query, Players.class);return players;我希望这将有所帮助。



