当为firestore使用自定义Kotlin对象时,删除'is'前缀。毁了我一整天。
data class UberRequest(val geoPoint: GeoPoint? = null,
//don't use 'is' prefix on boolean properties
val isAccepted:Boolean = false,
@ServerTimestamp
val timestamp: Date? = null)
因此,当您尝试检索isAccepted值时,它返回默认值,在本例中为false。如果默认值为null,则返回一个null值
这在日志猫的快照上有说明
Firestore使用Java Bean约定在Java类和数据库中的JSON之间映射属性。
在Java Bean中,布尔字段/方法上的is
前缀表示布尔属性。因此,您的isAccepted
被映射到名为Accepted
的JSON属性是意料之中的。