我在Spring数据/ MongoDB应用程序中使用此搜索方法:
@Query("{$text : { $search : ?0 } }")
List<DocumentFile> findBySearchString(final String searchString);
我的问题是我必须为searchString提供什么,我得到DocumentFiles,其中存在两个术语(例如term1 AND term2或term1 + term2)。 是否有与Spring Data和MongoDB类似的AND?
答案 0 :(得分:1)
是的,您可以实现使用mongo存储库
List<DocumentFile> findByString1AndString2(String String1,String String2);
好的,根据您的上一轮评论 - 我们可以这样做吗
使用mongo模板
Criteria regex = Criteria.where("name").regex("*.xxxx.*", "i");
mongoOperations.find(new Query().addCriteria(regex), DocumentFile.class);
使用mongo存储库
List<DocumentFile> documents= repository .findByQuery(".*ab.*");
interface repository extends MongoRepository<DocumentFile, String> {
@Query("{'name': {$regex: ?0 }})")
List<DocumentFile> findByQuery(String name);
}
希望它有用。