下面是我的Mongo-collection
数据结构的示例
{
"id": "5d91fe25da1917111182ce5a",
"customName": "Chess Application",
"status":"not_ready",
"environments": [
{
"environmentId": "6bbbbda6-b01a-4b9e-99d5-a1d0f696449a",
"environmentName": "Dev",
"environmentType": "dev",
},
{
"environmentId": "3b958d27-8fb7-4edd-bbb0-1dd86437d313",
"environmentName": "qa",
"environmentType": "qa",
}
]
}
我正在使用spring-JPA
来获取数据。我将仅获取environmentId
作为输入,并且我将扫描所有集合并获取具有此environmentId
注意:此处的Environment-id
不是mongo-created
ID。它是我的Java应用在插入过程中生成的UUID
我使用了findByEnvironmentsIsIn()
方法,但没有帮助。关于如何仅从子文档列表中获取一个对象的任何想法吗?
答案 0 :(得分:2)
@Query("{'environments' : { $elemMatch: { 'environmentId': { $in: ?0 }}}}")
List<Object> findByEnvironmentsIsIn( Set<String> environmentIds);
我想这应该对您有用