我的mongo数据库中有_id
定义为string
的文档.百人S的典型数值是
-
abc#1234
个 -
abc#2345
个 -
aby#5678
. -
abx#123
个
我想在abc#
左右执行前缀查询以返回abc#1234
个 abc#2345
个(考虑到_id在Mongo中排序,我认为前缀查询将是高效的--比2nry索引更高效--如果我错了,请纠正我)
我try 了下面的方法,它返回了一个尺寸为0的列表.
@Repository
public interface DBEntityRespository extends MongoRepository<DBEntity, String> {
public List<DBEntity> findByIdStartingWith(String id);
}
实体定义为...
@Document(collection = "someDBEntity")
@Data
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
public class DBEntity {
@Id
@JsonProperty("_id")
private String id;
...
...
...
}
我将按如下方式调用存储库
@GetMapping("/v1/x")
public String hi(){
List<DBEntity> list = repo.findByIdStartingWith("abc");// << tried with ^abc , /abc/, abc.* but no luck
System.out.println(list.size() ); // << returns list of size 0
return "success";
}
对如何解决这个问题有什么 idea 吗?并返回与前缀abc
匹配的完整文档??