这里的Firestore解释了我如何使用简单的类直接将它们与firestore一起使用:https://firebase.google.com/docs/firestore/manage-data/add-data
如何将字段标记为已排除?
data class Parent(var name: String? = null) {
// don't save this field directly
var questions: ArrayList<String> = ArrayList()
}
答案 0 :(得分:8)
由于Kotlin为字段创建隐式getter和setter,您需要使用@Exclude注释setter以告知Firestore不要使用它们。 Kotlin的语法如下:
data class Parent(var name: String? = null) {
// questions will not be serialized in either direction.
var questions: ArrayList<Child> = ArrayList()
@Exclude get
}
答案 1 :(得分:7)
我意识到这已经太晚了,但我偶然发现了这一点,并认为我可以提供另一种语法,希望有人会发现它有用。
data class Parent(var name: String? = null) {
@get:Exclude
var questions: ArrayList<Child> = ArrayList()
}
这样做的一个好处是,在我看来,它看起来更清晰,但主要的好处是它允许排除数据类构造函数中定义的属性:
data class Parent(
var name: String? = null,
@get:Exclude
var questions: ArrayList<Child> = ArrayList()
)