如何忽略/排除Firestore模型上的字段



我当前的目标是发送一些有用的数据到我的Firestore数据库。问题是我一直看到上面的忽略字段。

我不需要在数据库中保留布尔值'isUserAuthenticated'和'isNewUser'。

对于字段,我不想让我添加一个@ exclude,我甚至试图在类的顶部使用@ IgnoreExtraProperties。

模型中的一个例外:

@IgnoreExtraProperties
class UserModel : Serializable {
// authentication logic
@Exclude
var isUserAuthenticated = false

这是一个演示如何发送的示例:

val profile = UserModel(
firebaseUser.uid,
profileName,
firebaseUser.email,
profileImage,
currentLanguage,
profileLanguages,
0,
100
)
val uidRef: DocumentReference = firebaseUser.let { usersRef.document(it.uid) }
uidRef.get().addOnCompleteListener { uidTask: Task<DocumentSnapshot> ->
if (uidTask.isSuccessful) {
Log.i(TAG, "createProfileInFirestore: uidTask.isSuccessful()")
try {
val document: DocumentSnapshot = uidTask.result
if (!document.exists()) {
uidRef.set(profile)
.addOnCompleteListener { profileCreationTask: Task<Void> ->

在Java中忽略字段工作,但我目前正在Kotlin中重写它。

在公共字段前面添加的@Exclude注释在Java中工作。在Kotlin中,您必须像这样添加@get:Exclude:

@get:Exclude
var isUserAuthenticated = false

最新更新