spring-boot - 如何查询 Mongo 存储库中的给定参数
问题描述
我有一个如下的 mongo 存储库查询,如果我们同时提供名称和价格,它会给出响应。如果我们只提供名称或价格或两者都提供,我想得到回应。如何使这些参数可选。如果我们同时提供名称和价格,我想检索聚合结果,除非我只想从给定字段中搜索。非常感谢您的帮助。
List<Response> findByNameAndPrice(String name, int price)
解决方案
在这里我找到了一个使用 mongodb 正则表达式的简单解决方案,我们可以这样写一个查询,
@Query("{name : {$regex : ?0}, type : {$regex : ?1})List<String> findbyNameAndType(String name, String type)
诀窍是如果我们想查询给定的参数,我们应该为其他参数设置一些默认值。作为一个例子,这里认为我们只提供名称。然后我们通过将其默认参数设置为“.*”来设置类型以选择其所有可能的匹配项。此正则表达式模式提供任何字符串匹配。
推荐阅读
- alexa - Alexa 音频播放器:退出话语不起作用
- python - __init__.py 下的 python 补丁对象
- c - 我们可以将相同的寄存器地址映射到 MODBUS TCP IP 中的多个从站吗
- r - ggflags,警告消息:删除了 109 行包含缺失值 (geom_flag)
- json - JSON - Unity:如何序列化列表?NullReferenceException 错误
- android - 如何在 ViewModel 中访问 SharedPreferences?
- angular - 如何从应用模块中导入的模块访问组件?
- python - TensorBoard 未启动任何图表
- c# - 从 Windows 服务启动进程
- c# - 从 CSV 文件解析字符串,与字符串数组进行比较以打印特定行