2017-08-09 93 views
0

我的解析器得到如何在GraphQL查詢中選擇一部分對象數組?

{ adminMsg: 
    [ 
    {active: 「y」, text1: 「blah1" } , 
    {active: 「n」, text1: 「blah2" } 
    ] }; 

我的查詢:

{ 
    adminWarn { 
    adminMsg { 
     active, text1 
    } 
    } 
} 

我只想數組元素與條件:有效= 'Y'

我在GQL Dokumentation發現沒有辦法寫條件我的查詢。 GQL中是否有解決方案?

回答

1

使用決心參數的個數就可以解決問題:

const adminWarnList = new GraphQLObjectType({ 
    name: 'adminWarnReportList', 
    fields:() => ({ 
     adminMsg: { 
      type: new GraphQLList(adminWarnFields), 
     }, 
    }), 
}); 

const adminWarn = { 
    type: adminWarnList, 
    args: { 
     active: { type: GraphQLString }, 
    }, 
    resolve: (parent, args, context) => { 
     ... 
     let reportdata = context.loadData(); 

     if (args.active == 'y') { 
        let filteredItems = reportdata.filter(function(item) { 
         return item.active != null && item.active != 'y'; 
        }); 

        reportdata = filteredItems; 
     } 

     return { adminMsg: reportdata }; 
    }, 
}; 
相關問題