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;" +
"}" +
"}" +
"}";
}
我需要使用 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;" +
"}" +
"}" +
"}";
}