2017-10-24 5 views
0

ハードコードされたJSONオブジェクトからデータを取得するGraphQL.jsとExpressを使用してGraphQLデータベースをセットアップしました。GraphQL.js、サブフィールドの引数

exports.store = { "カテゴリ": {...}、 "顧客": {...}、 "ベンダー":私のJSONオブジェクトには、次のようになります {.. 。}、 "アイテム": {...}、 "製品":カテゴリに応じて、すべてのエントリごとにカテゴリとサブフィールドのための複数のエントリを持つ {...}、 }

。私はすべてのカテゴリのためのレゾルバを書いており、例えばidによって特定の顧客のデータを得ることができます。

私が今やりたいことは、SQLのWHERE-Clauseに似ています。

"1":{ "ID":1、 "名": "ココナッツ"、 "カテゴリ":{ "ID":1、 "名前" 製品のエントリは次のようになります: "フルーツ" }、 "ベンダー":{ "ID":32、 "名前": "エキゾチックフルーツ・カンパニー" } }、

だから今私が行うことができるようにしたいと思いますそれは特定のベンダーがIDで指定されたすべての製品を提供します。私は何とかこのためにすでに書いたリゾルバを再利用することはできますか?親のどれが返されるかを指定する引数をサブフィールドに持たせることも可能ですか?

答えて

1

to have an argument on a subfield that specified which of it's parents are to be returnedの意味を理解できません。私はあなたが特定のvendorIdと製品のみを返すリゾルバを持ちたい読み

が、これは動作するはずです:それはそうではなかった場合

type Query { 
    products($vendorId: Int): [Product] 
} 


const resolvers = { 
    ... 
    products: ({ vendorId }) => { 
    return store.products.values().filter(product => product.vendor.id === vendorId); 
    }, 
    ... 
}; 

は手の込んだしてください。)役立った

+0

感謝を。 –

関連する問題