Как игнорировать/исключать поля модели в 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.

0
0
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Аннотация @Exclude, добавленная перед открытым полем, работает в Java. В Kotlin вы должны добавить @get:Exclude следующим образом:

@get:Exclude
var isUserAuthenticated = false

Другие вопросы по теме