Mongodb 当我按Id获取时,返回属性为空值
我刚刚用GraphQL+MongoDB创建了一个新的spring启动应用程序。我可以从数据库中检索数组,但按id查询不起作用。属性为空。但是我在调试时正确地看到了数据。就像GraphQL无法将查询与返回值匹配一样 我不熟悉使用GraphQL,可能是一些小细节 模式图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 {
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工具,来自您之前提出的问题。如果是,让我们在问题中提到它。