Rol*_*ndo 3 java spring mongodb spring-data
我的mongodb中有一个名为"name"的字段.我在spring数据中使用注释来支持查询.我的问题是,有没有办法支持通配符?即如果我有名称为"Robert","Roberto""Ramano"的值,我可以支持允许我将"R"传递给函数的查询,并且它将匹配以R开头的所有内容?现在我必须基本上做一个罗伯特的"精确拼写",或任何一个这样的名字来获得完全匹配.
我知道如何直接使用mongodb进行通配符搜索,但我不确定如何使用spring数据在java中进行.我有一个代表我的学生文档的模型类,我使用注释来描述如何查询.
db.users.find({"name": /.*m.*/})
Run Code Online (Sandbox Code Playgroud)
我不知道如何将其转换为java,因为我想传递一个变量.例如:
伪代码:
String myvar = "R";
db.users.find({/.*<variable here>*/})
Run Code Online (Sandbox Code Playgroud)
以下是我在"MongoRepository"实现中的内容:
public interface UserRepository extends MongoRepository<UserId, String> {
{
@Query("{'name' : {$regex : ?0}}")
public List<Users> findByName(String username);
}
Run Code Online (Sandbox Code Playgroud)
当我传出全名"罗伯特"时,它就能找到"罗伯特".但是,如果我把"R",它没有找到任何东西.
你用查询方法尝试过吗?
public interface UserRepository extends MongoRepository<UserId, String> {
{
public List<Users> findByNameLike(String username);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |