我尝试用对象数组映射一个键字符串。
我可以创建一个简单的对象,但我想在这些数组中轻松添加一个对象。 map 对象非常适合执行此操作。
问题:我不知道如何为 GraphQL 定义类型映射:'(
@ObjectType()
export class Inventaire
@Field()
_id: string;
@Field()
stocks: Map<string, Article[]>;
}
最佳答案
GraphQL 不提供任何开箱即用的 map 类型。键值对的 JSON blob 没有强大的模式,所以你不能有这样的东西:
{
key1: val1,
key2: val2,
key3: val3,
...
}
但是,您可以将 GraphQL 模式定义为具有键值元组类型,然后定义您的属性以返回这些元组的数组。
type articleMapTuple {
key: String
value: Article
}
type Inventaire {
stocks: [articleMapTuple]
}
然后你的返回类型看起来像这样:
data [
{
key: foo1,
value: { some Article Object}
},
{
key: foo2,
value: { some Article Object}
},
{
key: foo3,
value: { some Article Object}
},
]
关于node.js - 在 GraphQL Schema 中定义 map 对象的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56705157/