Spring 查找集合中的元素,其中元素具有列表字段,且给定值必须属于该列表
我想查询集合中的对象,例如给定值必须属于stringArray中的值 stringArray是包含字符串列表的每个Obejct的字段名称 我在mongodb收藏的结构是Spring 查找集合中的元素,其中元素具有列表字段,且给定值必须属于该列表,spring,mongodb,criteria,mongotemplate,Spring,Mongodb,Criteria,Mongotemplate,我想查询集合中的对象,例如给定值必须属于stringArray中的值 stringArray是包含字符串列表的每个Obejct的字段名称 我在mongodb收藏的结构是 Object1 { field1 field2 stringArray[2] 0 String0 1 String1 } Object2 { field1 field2 stringArray[3] 0 String0
Object1
{
field1
field2
stringArray[2]
0 String0
1 String1
}
Object2
{
field1
field2
stringArray[3]
0 String0
1 String1
2 String2
}
}
我的问题是:
Query query = new Query();
query.addCriteria(
Criteria.where(theValueIamlookingFor).in("stringArray")
);
return mongoTemplate.find(query, myObject.class);
到目前为止,它还没有起作用
有什么想法吗?我想你刚刚把订单翻过来了。请尝试:
Criteria.where(“stringArray”).in(我正在寻找的值)
而不是上述内容非常感谢!它起作用了!但是我对语法有点困惑,我认为语法是:where(元素)。在(数组)中,而在相对性中,它是(数组)在(元素)中的位置。确实,语法有点违反直觉,但它首先是键,然后是可能值的列表。人们会期望在篮子里找到苹果,反之亦然