Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 当我按Id获取时,返回属性为空值_Mongodb_Spring Boot_Graphql_Graphql Java - Fatal编程技术网

Mongodb 当我按Id获取时,返回属性为空值

Mongodb 当我按Id获取时,返回属性为空值,mongodb,spring-boot,graphql,graphql-java,Mongodb,Spring Boot,Graphql,Graphql Java,我刚刚用GraphQL+MongoDB创建了一个新的spring启动应用程序。我可以从数据库中检索数组,但按id查询不起作用。属性为空。但是我在调试时正确地看到了数据。就像GraphQL无法将查询与返回值匹配一样 我不熟悉使用GraphQL,可能是一些小细节 模式图 schema { query: Query } type Query { datasets: [Dataset] dataset(id: String): Dataset } type Dataset {

我刚刚用GraphQL+MongoDB创建了一个新的spring启动应用程序。我可以从数据库中检索数组,但按id查询不起作用。属性为空。但是我在调试时正确地看到了数据。就像GraphQL无法将查询与返回值匹配一样

我不熟悉使用GraphQL,可能是一些小细节

模式图

schema {
    query: Query
}

type Query {
    datasets: [Dataset]
    dataset(id: String): Dataset
}

type Dataset {
    id: String
    name: String!
}
数据集类如下所示:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Document(collection = "datasets")
public class Dataset {
    private ObjectId id;
    private String name;
}
当我查询时:

{
    datasets{
        name
    }
}
{
    dataset(id: "5dab4ec97ff755534437c8bc"){
        name
    }
}
我明白了:

{
    "datasets": [
        {
            "name": "My Dataset"
        }
    ]
}
{
    "dataset": null
}
但当我询问:

{
    datasets{
        name
    }
}
{
    dataset(id: "5dab4ec97ff755534437c8bc"){
        name
    }
}
我明白了:

{
    "datasets": [
        {
            "name": "My Dataset"
        }
    ]
}
{
    "dataset": null
}
id正常:

因为您定义的响应类似于数据集和对象数据集的数组,所以如果只获取名称,则得到空值,然后编写数据集{name},然后获取数据集的对象{name:“我的数据集”}您使用的是什么graphql框架?我猜这是GraphQLJava工具,来自您之前提出的问题。如果是,让我们在问题中提到它。