【问题标题】:How to ignore/exclude fields on model on Firestore如何忽略/排除 Firestore 模型上的字段
【发布时间】:2022-11-23 21:42:55
【问题描述】:

我当前的目标是将一些有用的数据发送到我的 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 重写它。

【问题讨论】:

    标签: android firebase kotlin google-cloud-platform google-cloud-firestore


    【解决方案1】:

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

    @get:Exclude
    var isUserAuthenticated = false
    

    【讨论】:

      猜你喜欢
      • 2019-12-31
      • 2010-09-07
      • 2014-07-10
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      相关资源
      最近更新 更多