春数据 - 蒙戈DB - 搜索

春数据 - 蒙戈DB - 搜索

问题描述:

我有这样的域对象春数据 - 蒙戈DB - 搜索

@Document(collection = "LabelsPredefined") 

公共类LabelsPredefined {

@TextIndexed 
private String name; 

public LabelsPredefined() { 
} 

public String getName() { 
    return name; 
} 

public void setName(final String name) { 
    this.name = name; 
} 

@Override 
public String toString() { 
    return "[LabelsPredefined]"; 
} 
} 

,我必须在与自动完成前端的输入。因此,当用户输入第一个字符时,我将开始搜索。这是我的春节,数据存储库的方法:

@Query("{$text : { $search : ?0 } }") 
Set<LabelsPredefined> findLabelsPredefinedBySearchString(final String searchString); 

我的问题是,只有当整个搜索字符串比方法的响应对象相匹配的名称。有没有可能的解决方案?

我不知道这句法:

@Query("{$text : { $search : ?0 } }")

也许你应该尝试传递,而不是字符串TextCriteria:

TextCriteria criteria = TextCriteria.forDefaultLanguage() 
    .matchingAny(searchString); 

并改变你的签名方法:

Set<LabelsPredefined> findLabelsPredefinedBySearchString(TextCriteria criteria);