AWS AmplifyのDataStoreで条件に一致する最初のデータを取得する方法について調べてみましたが、これといった方法がなく、自分なりに考えたコードの紹介になります。ちなみに、検索の条件がidならDataStore.query(Post, postId)で取得できます。
広告
ソースコード
以下のコードでは、カテゴリーのスラッグでCategoryを取得しています。DataStore.queryの3つ目の引数に{ limit: 1 }を指定します。戻り値が配列型なので[0]を付け足します。
const category: Category = (await DataStore.query( Category, category => category.slug.eq(categorySlug), { limit: 1 } ))[0]
参考リンク
おわりに
DataStoreのドキュメントの内容の薄さは何なんだ。すぐに答えが見つからないのが辛い。Prismaが恋しい。