春数据 - 蒙戈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);