我有一个文档,其中保存着Map
中的<String, Integer>
。
给定Set<String>
,我想查询所有文档,以使给定集中的至少一个字符串作为映射的键存在。
即如果映射为{"foo" : 1, "baz": 2}
,给定集合为"["foo"]
,则将检索此特定文档。
查询的其他形式:地图键集和给定集之间的交集不是空集。
我认为最简单的方法是使用多个Criteria
形式的
Criteria.where("path.to.map." + key).exists(true);
并使用criteria.orOperator()
链接它们,但是orOperator
不接受集合。
这样做的正确方法是什么?