Java Spring MongoDB使用$in和元组数组查询不同字段
在MongoDB中使用最新的Spring数据,我希望检索集合中字段(在我的示例中为两个)与给定字符串对数组中的值匹配的所有记录 鉴于以下文件结构:Java Spring MongoDB使用$in和元组数组查询不同字段,java,spring,mongodb,repository,spring-data,Java,Spring,Mongodb,Repository,Spring Data,在MongoDB中使用最新的Spring数据,我希望检索集合中字段(在我的示例中为两个)与给定字符串对数组中的值匹配的所有记录 鉴于以下文件结构: @文档(collection=“persons”) @复合指数({ @CompoundIndex(name=“field\u job\u idx”,def=“{field':1,'job':1}”,unique=true) }) 班主任{ 字符串字段; 字符串作业; } 给定以下存储库接口: 接口PersonRepository实现存储库{ @查询
@文档(collection=“persons”)
@复合指数({
@CompoundIndex(name=“field\u job\u idx”,def=“{field':1,'job':1}”,unique=true)
})
班主任{
字符串字段;
字符串作业;
}
给定以下存储库接口:
接口PersonRepository实现存储库{
@查询(“{'field':{$in:?0}}”)
列出findAnyOfTheseFields(String[]字段);//这很容易在字段的单值数组中搜索
@查询(“{'job':{$in:?0}}”)
List findAnyOfTheseJobs(字符串[]作业);//这很容易在单值作业数组中搜索
@查询(“这里是什么?”)
列出seuniquefield和jobpairs(/*字符串对数组*/)的findanyof;
}
如何构造seuniquefield和jobpairs的findanyof及其注释,以便在persons
集合中搜索Person
记录,这些记录的字段和job
值在给定的对/元组数组中成对存在
我是否可以避开将字段
和作业
包装在包装类中并查询这些包装类的给定实例数组的选项
我想这样做(请原谅糟糕的语法,但这是我的想法):
repository.findanyoftheeuniquefieldandjobspairs([[“烹饪”、“厨师”]、[“法律”、“裁判”]、[“体育”、“守门员”]))
在存储库中:
@Query(“{'field','job':{$in:?0}”)
列出SeuniqueField和JobPairs(元组[]fieldJobPairs)的FindAnyof;