我将 spring-data mongo 与基于 JSON 的查询方法一起使用,并且不确定如何在搜索查询中允许可选参数。
例如 - 说我有以下功能
@Query("{ 'name' : {$regex : ?0, $options : 'i'}, 'createdDate' : {$gte : ?1, $lt : ?2 }} }")
List<MyItem> getItemsLikeNameByDateRange(String name, Date startDateRange, Date endDateRange);
- 但我不想应用名称正则表达式匹配,或者如果将 NULL 值传递给方法,则不应用日期范围限制。
目前看来我可能必须使用 mongoTemplate 构建查询。
有没有其他选择 - 或者使用 mongoTemplate 是最好的选择?
谢谢