使用 Spring JPA 从 Mongo 集合中的子文档列表中获取数据

Get data from list of Sub documents in Mongo collection using Spring JPA

下面是我的 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[ 的集合=21=]

注意:这里的Environment-id不是mongo-createdID。它是我的 Java 应用程序在插入期间生成的 UUID

我使用了 findByEnvironmentsIsIn() 方法,但没有帮助。知道如何从子文档列表中只获取一个对象吗?

@Query("{'environments' : { $elemMatch: { 'environmentId': { $in: ?0 }}}}")
List<Object> findByEnvironmentsIsIn( Set<String> environmentIds); 

我想这应该适合你