gpt4 book ai didi

node.js - 如何为嵌套对象或同一父对象中的对象列表定义 GraphQLObjectType

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:56 25 4
gpt4 key购买 nike

对于我的 MongoDB 对象,我有一个架构,其中有很多嵌套数据。

但是我在 GraphQL 中完美地实现了获取数据的查询,但是我无法获取嵌套数据,因为我无法定义类型。

fields() {
return {
name: {
type: GraphQLString,
description: 'Name of the person'
},
age: {
type: GraphQLString,
description: 'Age'
},
documents: { // what to do here
type: new GraphQLList(),
description: 'All documents for the person'
}
}
}

原始数据是这样的

{
"_id" : ObjectId("5ae1da5e4f00b5eee4ab84ee"),
"name" : "Indira Gandhi International Airport",
"age" : 54,
"documents" : [
{
"doc_name" : "personal card",
"doc_url" : "http://",
"status" : true
},
{
"doc_name" : "bank card",
"doc_url" : "http://",
"status" : true
}
],
"latitude" : "",
"longitude" : "",
"timezone" : "Asia/kolkata"
.......
}

我是 graphQL 的新手,请帮忙。

最佳答案

我相信您在这里尝试做的是让您的文档字段成为文档列表。为此,您需要创建一个“文档”GraphQLObjectType 以传递到您的文档字段中的 new GraphQLList()。像这样:

const DocumentType = new GraphQLObjectType({
name: 'DocumentType',
fields: {
doc_name: {
type: GraphQLString
},
doc_url: {
type: GraphQLString
},
status: {
type: GraphQLBoolean
}
});

然后一旦你创建了它,无论是在同一个文件中(或在不同的文件中并且必须导入)具有正确的依赖关系,你将它插入到你上面发布的代码中,如下所示:

fields() {
return {
name: {
type: GraphQLString,
description: 'Name of the person'
},
age: {
type: GraphQLString,
description: 'Age'
},
documents: {
type: new GraphQLList(DocumentType),
description: 'All documents for the person'
}
}
}

希望对您有所帮助。

关于node.js - 如何为嵌套对象或同一父对象中的对象列表定义 GraphQLObjectType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50117130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com