当前位置: 首页 > 知识库问答 >
问题:

MongoRepository中getBy****()函数中的忽略参数

姬墨竹
2023-03-14

我在服务中使用MongoRepository。在我的例子中,我有三个字段,它们的名字是“姓名”、“年龄”和“性别”。我可以在我的界面中使用以下方法来查询数据:

List<People> getByName(String name);
List<People> getByAge(String age);
List<People> getByNameAndGender(String name, String gender);
...and so on...

现在我想用这3个字段的每一个组合来查询数据,所以我需要在这里写7 (3 3 1)方法,它真的很难看。

我试着写些

List<People> getByNameAndAgeAndGender(String name, String age, String gender);

如果输入只有两个字段:name=Chris,age=18,那么我可以调用

List<People> peoples = getByNameAndAgeAndGender("Chris", "18", "*")

来获取Chris和18岁的人的名单。我怎样才能实现这个目标?我真的不想写一个大的“如果……如果……如果……如果……”身体非常感谢。

共有1个答案

颛孙正卿
2023-03-14

试试这个:

List<People> getByNameLikeAndAgeLikeAndGenderLike(String name, String age, String gender);
 类似资料:
  • 问题内容: 如何使装饰器忽略有关缓存键的某些函数参数? 例如,我有一个看起来像这样的函数: 如果我像这样应用装饰器,它将包含在缓存键中。结果,如果我尝试使用相同但不同的函数调用该函数,它将再次执行,这是我想避免的。我只想考虑论点。 问题答案: 使用cachetools可以编写:

  • 我有一个编译器错误问题,请查看以下代码: 问题在于编译器忽略了 foo 函数上的“const”,使得对 foo 的调用非法(const int* to int*)。 严重程度代码描述项目文件行抑制状态错误C2664'ululfoo(const::类型)':无法将参数1从'const int*'转换为'const Mystrt::类型' 我在Visual Studio和gcc的5.3编译器中测试了以

  • 如果没有声明相应的值,是否有可能动态忽略一些可选的参数?

  • 问题内容: 我正在使用Guice(v 3.0),并且具有一个将被注入到构造函数中的值。该值可以为null,因此我已在构造函数中使用@Nullable注释了该参数(来自javax.annotations)。 但是,Guice在初始化类时抱怨配置错误: 我不明白为什么这行不通,还有什么需要做的吗? 问题答案: 原来是个日食问题-没有正确刷新我的工作区。

  • Spring Hateoas没有为以下请求映射创建适当的链接: 致电/会员/12345时,您希望返回: 但相反,它返回: 这是为什么?即使我使用@Request estParam,它也完全忽略了过滤器。在这件事上,任何建议都将受到赞赏。

  • 说我有下面的JPA方法: 用户通过输入字段和选择字段过滤这些对象的列表,从而调用此方法: 在这种情况下,如果用户不使用该字段进行搜索,则布尔值可以是true、false或null。看起来JPA实际上是在搜索一个空值,而我希望它忽略任何空值。我已经能够使用以下代码进行此组合搜索: 这是可行的,但显然,在一个有8个搜索选项的页面上,这将成为一场噩梦。字符串参数没有这个问题,因为当用户不选择过滤器时,它