Spring Data - Mongo DB - 搜索包含多个搜索字符串的结果

时间:2016-09-30 06:40:25

标签: mongodb spring-data

我的应用程序中有一个使用spring数据和mongoDB的实体类,如下所示:

@Document(collection = "DocumentFile")
public class DocumentFile {

private String originalFileName;

现在我想为字段 originalFileName 创建搜索方法。 originalFileName的名称,例如看起来像这样:

  

testFileName-2016-USA.pdf

我会搜索,例如对于 FileName AND 2016 ,上述文件应该匹配。 我现在的问题是如何做到这一点。我需要一个像这样的方法:

public interface DocumentFileRepository extends MongoRepository<DocumentFile , String> {

    List<DocumentFile> findDocumentFilesByOriginalFileNameContaining(final List<String> searchStrings);

}

有可能这样做吗?

1 个答案:

答案 0 :(得分:0)

您可以使用In关键字查询方法。

如果您看到参考文档,则关键字In搜索存储的列/对键行/值。

reference documentation中的示例:

  

In - findByAgeIn(收集年龄) - {“年龄”:{“$ in”:[年龄...]}}

因此,在您的情况下,您可以执行以下操作:

List<DocumentFile> findByOriginalFileNameIn(final Collection<String> searchStrings);