GraphQL 正在将我的标题和内容属性解析为 null,尽管数据肯定是从服务器检索的 - 控制台日志确认了这一点。 graphql 只返回 _id 属性,这是我从查询中得到的 json { listings: [ { _id: '56e6c94f1cf94a7c0a4e22ba', title: null, content: null } ] }
据我所知,一切都设置正确,我还尝试给标题和内容一个 GraphQLIDType 以排除它类型的差异。
我有一个 graphql 查询:
query(`
query findListings {
listings(offset: 1) {
_id,
title,
content
}
}
`).then((json) => {
console.log('json', json.data)
})
我的根查询类型:
const QueryType = new GraphQLObjectType({
name: 'Query',
fields: {
listings: {
name: 'listings',
type: new GraphQLList(ListingType),
args: {
limit: {
type: GraphQLInt
},
offset: {
type: GraphQLInt
}
},
resolve(source, args, info) {
const { fieldASTs } = info
const projection = getProjection(fieldASTs[0])
return ListingModel.find({}, projection).then(listing => {
console.log(listing)
return listing
})
}
}
}
})
和我的“列表类型”:
const ListingType = new GraphQLObjectType({
name: 'Listing',
fields: {
_id: {
type: GraphQLID
},
title: {
type: GraphQLString
},
content: {
type: GraphQLString
}
}
})
最佳答案
我知道这是旧的,但有类似的问题,当查询列表返回 null 时。
当查询数组时,你会得到一个对象 {key: yourArray},所以它应该是:
return ListingModel.find({}, projection).then(listing => {
console.log(listing)
return {listing: listing}
关于graphql 只解析 _id 字段,其他字段为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36010618/