2017-09-25 41 views
0

我用这个搜索方法在我的春节,数据/ MongoDB的应用:春数据 - MongoDB的 - 更多的术语与链接和

@Query("{$text : { $search : ?0 } }") 
List<DocumentFile> findBySearchString(final String searchString); 

我的问题是什么,我不得不放弃在搜索字符串,我得到DocumentFiles哪里存在两个术语(例如,术语1和术语2或术语1 +术语2)。 有没有像Spring数据和MongoDB一样的东西?

回答

1

是的,你可以实现使用蒙戈库

List<DocumentFile> findByString1AndString2(String String1,String String2); 

好,根据你最后一轮的评论,我们可以做这样的

使用蒙戈模板

Criteria regex = Criteria.where("name").regex("*.xxxx.*", "i"); 
    mongoOperations.find(new Query().addCriteria(regex), DocumentFile.class); 

使用蒙戈资源库

List<DocumentFile> documents= repository .findByQuery(".*ab.*"); 
interface repository extends MongoRepository<DocumentFile, String> { 
    @Query("{'name': {$regex: ?0 }})") 
    List<DocumentFile> findByQuery(String name); 
} 

希望它会有用。

+0

我的意思是用户可以给予什么,以找到term1 AND term2。谢谢! – quma

+0

我不明白你在说什么,如果你正确评论你的问题,我可以帮你。 – jai

+0

对不起,我不清楚的问题!用户是否有任何可能性用他的搜索输入来控制它是全文搜索,还是像“搜索”一样搜索......? – quma