graphql只解析_id字段,其他字段为null

时间:2016-03-15 11:54:18

标签: graphql graphql-js

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
    }
  }
})

1 个答案:

答案 0 :(得分:0)

我知道这是旧的,但有类似的问题,查询列表时返回null。

查询数组时,您将获得一个对象{key:yourArray},因此它应该是:

return ListingModel.find({}, projection).then(listing => {
 console.log(listing)
 return {listing: listing}