我在名为 countryData.json 的文件中有一些 json 数据,其结构如下:
{
"info":"success",
"stats":
[{
"id":"1",
"name":"USA",
"type":"WEST"
},
//...
我正在使用 graphQL 来访问这些数据。我使用以下方法在国家/地区的架构中创建了一个对象类型:
const CountryType = new GraphQLObjectType({
name: "Country",
fields: () => ({
id: { type: GraphQLID },
name: { type: GraphQLString },
type: { type: GraphQLString },
})
});
我想编写一个查询,允许我访问该数组中具有特定“名称”值的所有元素(可以有多个具有相同名称的元素)。我编写了以下查询,但它只返回数组中的第一个匹配项:
const RootQuery = new GraphQLObjectType({
name:"RootQueryType",
fields:{
country: {
type: CountryType,
args: { type: { name: GraphQLString } },
resolve(parent, args){
return _.find(countryData.stats, {name: args.name});
}
}
}
});
“_”来自const _ = require('lodash');
另外,我怎样才能得到数组中的每一个项目?