MongoTemplate - 带有 JS 函数的地方

MongoTemplate - where with JS function

我需要使用 Java Spring mongoTemplate 中的 $where 运算符查询数据库。 这是查询:

db.myCollection.find( {$where : function () {
    for (var index in this.*someKey*){
        if (index.indexOf(*someValue*) > -1){
          return this;
        }
    }
}})

但 mongoTemplate where operator 期望接收键而不是 java 脚本字符串函数。有没有办法解决?

我最终使用了 Spring MongoDB 存储库(我也需要分页)

public interface MyCollectionRepository extends PagingAndSortingRepository<MyCollectionClass, String> {
    @Query("{$where : ?0}")
    Page<MyCollectionClass> findSomething(String whereQuery, Pageable pageable);

     .....
}

 public static String whereQuery(String someValue){
        return "function() {" +
                    "for (var index in this.*someKey*){" +
                        "if (index.indexOf(\""+ someValue+"\") > -1){" +
                          "return this;" +
                         "}" +
                     "}" +
                "}";
    }