GraphQL経由でmysqlデータを受信できません
P粉092778585
2023-08-29 18:02:24
<p>Node.js Express サーバーで GraphQL と mysql を使用しようとしています。 </p>
<p>しかし、クエリを実行するたびに次のエラーが発生します。</p>
<p>エラーメッセージは次のとおりです。</p>
<pre class="brush:php;toolbar:false;">{
「エラー」: [
{
"メッセージ": "反復可能であることが期待されましたが、フィールド \"RootQueryType.getAllGoals\" の反復可能が見つかりませんでした。",
「場所」: [
{
「行」: 2、
「列」: 3
}
]、
「パス」: [
「すべての目標を取得」
】
}
]、
「データ」: {
"getAllGoals": null
}
}</pre>
<p>これは私の GraphQL クエリです: </p>
<pre class="brush:php;toolbar:false;">クエリ {
getAllGoals {
タイトル
進捗
ゴール
}
}</pre>
<p>「SELECT * FROM (my table)」から期待どおりの結果が得られますが、それを GraphQL リゾルバーとして返そうとすると、次のようなエラーが表示されます。 < ;/p>
<pre class="brush:php;toolbar:false;">const RootQuery = new GraphQLObjectType({
名前: "RootQueryType"、
田畑: {
getAllGoals: {
タイプ: 新しい GraphQLList(GoalType)、
解決(親, 引数) {
return db.query("SELECT * FROM myTable", (err, result) => {
if (err) エラーをスローする
console.log(JSON.parse(JSON.stringify(result)))
JSON.parse(JSON.stringify(result)) を返す
})
}
}
}
})</pre>
<p>GraphQLObjectType GoalType に競合がないかチェックしましたが、何も見つかりませんでした。 </p>
すでに修正しました。クエリを含む Promise (以下のような) を作成するだけで済みました。
リーリー