我使用的是spring-data-mongodb。
我想在我的存储库中使用$或operator。
这是我的疑问:
@Query("{'type':?0}")
List<Doc> findByType(String type, Pageable pageable);
如何使用$或@Query,因为它可以匹配任何类型或名称,并获取文档。 请帮忙。
答案 0 :(得分:4)
答案 1 :(得分:3)
我找到了我的问题的答案,该问题还处理了其中的可选查询参数。
查询应该是:
@Query("{'type':?0,'$or':[{ $where: '?1 == null' },{'key':?1},{ $where: '?2 == null' },{'username':?2}]}")
List<Doc> findByType(String type, String key, String username, Pageable pageable);
答案 2 :(得分:1)
您甚至不需要手动定义查询:
Page<Doc> findByTypeOrName(String type, String name, Pageable pageable);