【发布时间】:2014-04-08 15:56:55
【问题描述】:
我在 mongodb 中使用 Spring 数据。 我有一个名为 place 的集合:
{
"_id" : NumberLong(281469),
"_class" : "com.domain.Place",
"name" : "paris"
}
我想找到以一些字符串开头的地方。 在 mongo 控制台中,我可以使用:
db.place.find({name : {$regex : /^par/, $options: 'i'}})
我尝试过使用 spring 数据存储库,但总是给出一个空结果:
@Query(value="{'name' : {$regex : ?0, $options: 'i'}}")
public Page<PlaceDetails> findByNameStartsWith(String name,Pageable pageable);
在存储库方法的调用中,我以这种方式进行连接:
repository.findByNameStartsWith("/^"+token+"/",new PageRequest(0,10));
虽然此存储库方法有效:
@Query(value="{'name' : ?0}")
public Page<PlaceDetails> findByName(String name,Pageable pageable);
类是这样声明的:
@Document(collection="place")
public class PlaceDetails {
//...
}
知道为什么它不起作用吗?
【问题讨论】:
标签: mongodb spring-data