Firebase Auth, Firestore & Storage (plugin)
  • 🚀Getting Started
  • Setup
    • Create a Firebase Project
    • Get Firebase access credentials
    • Offline Support
    • Secure your credentials and data
      • Restrict your api-key to your domain
      • Security Rules on Firebase
  • Plugin Elements
    • 🛠️About elements
    • 💾Data Schemas
    • Firebase Auth (Current User)
    • Firestore Data List
      • Firebase Geohash
      • Firestore Data (legacy)
    • Firestore Data Extractor
    • Firestore Data Single
    • Firestore Data Aggregation
    • Firestore Data Processor
    • Firebase Storage Upload Button
    • Firebase Action Listener
    • Firebase Dropdown Processor
  • Plugin Front-end Actions
    • 💻About front-end actions
    • 💾Field types table
    • Firestore
      • Create a new document
      • Update a document
      • Delete a document
      • Update a list of documents
      • Delete a list of documents
      • Batch Operations
        • Batch Operation Constructor
        • Batch Operation Commit
    • Firebase Auth
      • Sign the User Up
      • Log the User In
      • Log the User In with Google
      • Log the User In with Facebook
      • Log the User In with GitHub
      • Log the User Out
      • Update User's Profile
      • Update User's Password
      • Update User's Email
      • Send password reset email
        • Handle reset password code
      • Send verification email
        • Handle verify email code
      • Delete current user
    • Firebase Storage
      • Upload file base64
      • Delete uploaded file
  • Plugin Back-end Actions
    • ☁️About backend actions
    • Firestore Backend
      • Get a list of documents
      • Get a single document
      • Count a list of documents
      • Create a new document
      • Update a document
      • Delete a document
      • Update a list of documents
      • Delete a list of documents
    • Firebase Auth Backend
      • Create an account for someone else
      • Update another user's profile info
      • Delete a user account
      • Generate email confirmation link
      • Generate password reset link
      • Set user roles
Powered by GitBook
On this page
  • Settings
  • Document Data
  • Fields (1, 2, 3, ...)
  • Field List (1, 2, 3, ...)
  • Field Types (1, 2, 3, ...)
  • States and Values
  • Document ID
  • Data (w/ schema)
  • Field (1, 2, 3, ...)
  • Field List (1, 2, 3, ...)
  • Error message
  • Data is Ready
  • Keys
  • Events
  • Data ready or changed
  1. Plugin Elements

Firestore Data Extractor

PreviousFirestore Data (legacy)NextFirestore Data Single

Last updated 11 months ago

The Firestore Data Extractor element can be used to get fields from the JSON structure of documents fetched from Firestore. It processes a single document in order to get it's fields and translate them in data types the Bubble can comprehend.


Settings

Document Data

Here you must specify the id (or name) of the collection of document in Firestore where you chose to store user data. The plugin will fetch data from the document in that collection that has the same ID as the current authenticated user.

Fields (1, 2, 3, ...)

The name or path (in dot notation) of the field you want to extract from the document.

For instance, if you you want to extract the content of the field "description" on the document, that's the name you should put on this setting.

If the field is of type Map, you can use "dot notation" to extract the value of a specific key on the map. In the example below, a field of name "links" has two keys, "pt-br" and "en-us". To get the value from the "pt-br", the Field would be "links.pt-br".

If you don't specify a path and only provide "links" as a path, the entire Map JSON structure can be used as a text. This JSON text can be used in another Data Extractor to get specific fields from it too.

Field List (1, 2, 3, ...)

The name of the array/list field you want to extract from the document. The generated state will be turned into a Bubble list of values.

Field Types (1, 2, 3, ...)

Choose between the Bubble's basic data types, so that the value of the Field you're extracting can be translated to it. This can end up in error's, like if you try to provide a text to a field you defined as number, so be careful with what you choose and check your browser's console (press "F12") to look for errors.

Some data types on Firestore must be treated as texts on Bubble if you want to display them or use them elsewhere, like "Maps" or "References".

"Reference" types will be displayed as a text showing the path to the document, like so: collection_name/document_id

(e.g. tasks/6KXLqGVsvGdytOI5pB8F or users/6n6tlWXTDwUp3f7yQ95mpITUUmZ2)


States and Values

The Data Extractor provides, for each field you get, a corresponding state containing it's value. It also provides some other useful data, like the originating document id, for instance.

Document ID

The ID of the processed document. This ID is available in the JSON structure under the key "_id", but is extracted by default.

Data (w/ schema)

Field (1, 2, 3, ...)

The value extracted from the field, translated to the Field Type you defined for it.

Field List (1, 2, 3, ...)

A list of values extracted from an array field on the document, each entry translated to the Field Type you defined for it.

Error message

Stores the last error message on the element, if there was any.

Data is Ready

Turns to "yes" when all the element's states are done being filled, an "no" when they are being filled.

Although this operations are fast, the fact the they are filled in order and not at the same time may lead to issues, that's why this state was created.

Keys

The list of paths on the provided data. It gives you all the possible Fields you can extract from the data you provided.

If the document has a Field of type "Reference" that points to another document, this list can become long, as the reference JSON object has lots or properties that do not interest us.

Events

Data ready or changed

Triggered when the data from the extractor is all loaded and ready to be used.

If the list is a list of "Map" types, you can feed them to a , to treat them as a list of documents and extract data further.

The JSON data, interpreted through the "data schema" you define on an API Connector and provide to the element. See how to configure this on the documentation.

Firestore Data Processor
Data Schemas