Skip to content Skip to sidebar Skip to footer

Firestore Exclude Data Serialization

I've got several properties that should not be transferred to Firestore, such as metadata ('id' or 'parent'), and with Firebase Realtime database, there was the option to set them

Solution 1:

To mark a field as excluded from the Firestore or Realtime database you can use the @Exclude annotation. For example:

@IgnoreExtraPropertiespublicclassModel {
    @ExcludeprivateString id;

    // ...
}

You can also use the @IgnoreExtraProperties annotation against the class to automatically ignore properties that don't map to class fields.

Solution 2:

For Kotlin you need to make sure that the getter is annotated with the @Exclude annotation and not just the appropriate field. You can do this by specifying the target of the annotation. For example:

dataclassModel(@get:Exclude val id: String)

@get specifies that the @Exclude annotation should be added to the value's getter. See Annotation Use-site Targets docs for more information.

This also works for data classes.

Credits to @mfulton26 for his answer https://stackoverflow.com/a/40117301/2739794.

Solution 3:

Grimthorr's answer didn't work for me. So, I put @Exclude annotation before the getter method of the field I want to exclude from writing to Firestore db, and it worked:

@ExcludepublicStringgetId() {
    return id;
}

Post a Comment for "Firestore Exclude Data Serialization"