Java MongoTemplate-其中包含JS函数
我需要使用JavaSpringMongoTemplate中的$where操作符查询数据库。 以下是查询:Java MongoTemplate-其中包含JS函数,java,spring,mongodb,mongotemplate,Java,Spring,Mongodb,Mongotemplate,我需要使用JavaSpringMongoTemplate中的$where操作符查询数据库。 以下是查询: db.myCollection.find( {$where : function () { for (var index in this.*someKey*){ if (index.indexOf(*someValue*) > -1){ return this; } } }}) 但是,mongoTemplate运算符
db.myCollection.find( {$where : function () {
for (var index in this.*someKey*){
if (index.indexOf(*someValue*) > -1){
return this;
}
}
}})
但是,mongoTemplate运算符希望在其中接收密钥,而不是java脚本字符串函数。这有什么关系吗 我最终使用了Spring MongoDB存储库(我还需要分页)
我最终使用了SpringMongoDB存储库(我还需要分页)
我想你可以使用Javascript表达式。我想你可以使用Javascript表达式。
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;" +
"}" +
"}" +
"}";
}