【发布时间】:2021-01-05 18:08:13
【问题描述】:
对象示例:
[
{
"name": "aaa",
"list": [
{
"key": "val1"
},
{
"key": "val2"
},
{
"key": "val3"
},
{
"key": "val4"
}
]
},
{
"name": "bbb",
"list": [
{
"key": "val2"
},
{
"key": "val4"
},
{
"key": "val6"
},
{
"key": "val8"
}
]
}
]
查询:list.key = val1 或 val6
实际结果:
[
{"key":"val1"},
{"key":"val2"},
{"key":"val3"},
{"key":"val4"},
{"key":"val2"},
{"key":"val4"},
{"key":"val6"},
{"key":"val8"}
]
预期结果:
[
{"key":"val1"},
{"key":"val6"}
]
我需要选择列表中所有符合条件的对象。
@Query(value="{$or :{ 'listKey' : ?0},{ 'listKey' : ?1} }", fields="{ 'listKey' : 1}")
public List<Object> findByListKey(String value,String value2); // val1 or val6
实际上,它会检索列表的所有对象,以防它包含该值。
有什么建议吗?
【问题讨论】:
标签: java spring spring-data spring-data-mongodb