Mongodb 使用SpringJPA从Mongo集合中的子文档列表中获取数据
下面是我的Mongodb 使用SpringJPA从Mongo集合中的子文档列表中获取数据,mongodb,spring-data-jpa,spring-mongodb,Mongodb,Spring Data Jpa,Spring Mongodb,下面是我的Mongo集合数据结构示例 { "id": "5d91fe25da1917111182ce5a", "customName": "Chess Application", "status":"not_ready", "environments": [ { "environmentId": "6bbbbda6-b01a-4b9e-99d5-a1d0f696449a", "environmentName": "D
Mongo集合
数据结构示例
{
"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
获取数据。。我将只获取环境ID
作为输入,我将扫描所有集合并获取具有此环境ID的集合
注意:此处的Environment id
不是mongo创建的id。它是我的Java应用程序在插入过程中生成的UUID
我使用了findByEnvironmentsIsIn()
方法,它没有帮助。你知道如何从子文档列表中只获取一个对象吗?@Query(“{'environments':{$elemMatch:{'environmentId':{$in:?0}}}”)
@Query("{'environments' : { $elemMatch: { 'environmentId': { $in: ?0 }}}}")
List<Object> findByEnvironmentsIsIn( Set<String> environmentIds);
列出FindByenEnvironmentSisin(设置环境ID);
我想这应该适合你