Firestoreから取得した結果をKotlinオブジェクトに変換する方法

モチベーション

  1. Firestoreドキュメントからdata classのオブジェクトにしたい
  2. Firestoreコレクションからdata classのリストにしたい

FirestoreのSDKとKotlinのdata classでハッピーになれます。

まずはData Class

data class Book(  
    val name: String,  
    val isbn: String  
)

こういう data class があったとして、

コレクションからKotlinリストへ

val db = FirestoreClient.getFirestore()  

val booksRef = db.collection("books")  
val snapshot = booksRef.get().get()  
val books = snapshot.toObjects(Book::class.java)

ドキュメントからKotlinオブジェクトへ

val db = FirestoreClient.getFirestore()  

val booksRef = db.collection("books").document("<BOOK_ID>")  
val snapshot = booksRef.get().get()  
val book = snapshot.toObject(Book::class.java)

やっぱり、Kotlinは気持ちいいですね