0
データオブジェクトのオブジェクトのGraphQLスキーマ/リゾルバはどのように見えますか?
{
user_id: 'abc',
movies: {
'111': {
title: 'Star Wars 1'
},
'112': {
title: 'Star Wars 2'
}
}
}
このため、スキーマとリゾルバはどのようなものが見えるでしょうか?
これは私の最高の試みでしたが、私はこのような例は見たことがないので、本当にわかりません。
スキーマ
type User {
user_id: String
movies: Movies
}
type Movies {
id: Movie
}
type Movie {
title: String
}
リゾルバ
User: {
movies(user) {
return user.movies;
}
},
Movies: {
id(movie) {
return movie;
}
}
は、[動画]は、データがオブジェクトの配列であることを期待していません、{ id:112、title: 'スターウォーズ2'}]?私は、それはO(n)を削除するために配列をループするのではなく、O(1)であるとidでムービーを削除する場合は、キーとしてオブジェクトのIDとしてオブジェクトを格納する方が良いと思った。思考?例えばオブジェクトでこれを行う方法はありますか? {映画}代わりに? – kayla
あなたのDB表現はあなたが望むものであれば何でも構いません。それをIDのリストとして格納するのが理にかなっています。しかし、User.moviesリゾルバでは、これらのIDのムービーを取得することで、それらを実際のムービーオブジェクトに変換できます(ただし、そうする必要はありません)。 GraphQLスキーマは、DBに物事を格納する方法によって影響を受けるべきではありません。主にフロントエンドのニーズによって駆動されるべきです。 – helfer