2016-03-15 87 views
6

雖然數據肯定是從服務器中檢索出來的,但是GraphQL解決了我的標題和內容屬性爲空 - 控制檯登錄以確認它。只有_id屬性從graphql返回,這就是我從查詢中得到的結果json { listings: [ { _id: '56e6c94f1cf94a7c0a4e22ba', title: null, content: null } ] }據我所知,一切都設置正確,我也嘗試給title和content一個GraphQLIDType來排除它的類型差異。graphql只解析_id字段,其他字段爲空

我有一個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 
    } 
    } 
}) 
+0

什麼呢'的console.log(上市)'打印? –

+0

這個:'[{content:'我是內容', title:'Hello and welcome', _id:56e6c94f1cf94a7c0a4e22ba}]' – Melbourne2991

+0

如果你確定'console.log(listing)'打印該數組,錯誤應該在別處。也許在你的客戶端,你在哪裏查詢?如果您仍然無法解決此問題,請考慮發佈更多相關的代碼。這段代碼對我來說看起來非常好。 –

回答

0

我知道這是舊的,但有類似的問題,查詢列表時返回null。

當查詢數組,你會得到一個對象{鍵:yourArray},所以它應該是:

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