ちょっとハマりました。
kotlinでfirestoreにデータ登録するときは、kotlinのオブジェクトをそのまま登録できて便利です。
しかし次のようにis
から始まるプロパティ名でBooleanのプロパティが定義されていると、Firestoreに登録されるデータのフィールド名は valid
となってしまいます。
class Hoge{
var isValid:Boolean? = null
}
どうやらFirestoreのSDK内で変換される際に、このようになってしまう模様。
@GengroHirano さんにアドバイスいただき、PropertyName
アノテーションを使う方法で解決できることがわかっています。
import com.google.firebase.firestore.PropertyName
class Hoge{
@set:PropertyName("isValid")
@get:PropertyName("isValid")
var isValid:Boolean? = null
}
ちなみに先頭がget
のものも怪しそう、試してないですが。。
FirestoreのSDKのソースコードって公開されてないのかな?