Spring JPA Query查找所有属于查询字符串的字符串

时间:2018-09-16 19:14:25

标签: mongodb spring-data spring-data-mongodb

我想举例说明我的问题。在mongodb中,我有一个String列。现在,我想列出该列中所有属于我的查询字符串的字符串。

例如,如果我的查询字符串是“这是我的测试字符串”。

我的理想结果是

“此”, “这是”, “这是我的”, “是我的”, “是我的考验”, “这是我的考验”, “这是我的测试字符串”等。

在mysql中,我知道“%Like%”会处理。我在mongo JPA中尝试了“赞”,但是没有运气。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如JB所述,没有Mongo JPA,但我假设您想要的行为与Spring Data JPA为您所做的类似,这就是Spring Data MongoDB所做的。

为此,您需要使用In和查询的字符串部分的集合。因此,您需要先断开字符串。

在您的存储库中,在In中使用Spring Data的查询DSL,即:

public interface YourDocumentRepository extends MongoRepository<YourDocument, ClassTypeOfYourId> {

  public List<YourDocument> findByNameIn(string[] text);

}

如果您的字符串字段的名称为superDuper,则示例为:

public List<YourDocument> findBySuperDuperIn(string[] text);

您应该进行调整。有关更多详细信息,请查看the reference或一些示例here