Firestore Data Processor
Last updated
Last updated
The Firestore Data Processos is similar to the element, but it does not query data from Firestore. Intead it process data that's already available on the front-end, in a Firestore Data element or other kinds of list JSON fields.
It works exactly as the Front-end sorting and filtering settings on the element.
The data to be processed.
Usually this data will be a list of documents from a Firestore Data element, but it can also be any list of JSON objects. For instance, you could get an "array of maps" field in a document and process it with this element. The only difference is that the "doc_id" will be empty, since these maps might not have the "_id" field.
==
Gets values equal to the provided input.
<>
Gets values not equal to the provided input.
>=
Gets values greater than or equal to the provided input (must be of type number or date).
>
Gets values greater than the provided input (must be of type number or date).
<=
Gets values less than or equal to the provided input (must be of type number or date)
<
Gets values less than the provided input (must be of type number or date)
contains
Gets values where the field of type array/list has the value provided as input.
contains-any
Gets values where the field of type array/list has any of the array of values provided as input.
contains case sensitive
Gets values where the field of type array/list has the value provided as input, but differentiating uppercase from lowercase characters.
doesn't contain
Gets values where the field of type array/list doesn't have the value provided as input.
doesn't contain case sensitive
Gets values where the field of type array/list doesn't have the value provided as input, but differentiating from uppercase and lowercase characters.
is in
Gets values where the field value is present on the array of values provided as input.
isn't in
Gets values where the field value is not present on the array of values provided as input.
isn't empty / count > 0
Gets values where the field value doesn't exist, is empty or, if it's an array/list, its length is zero.
is empty / count = 0
Gets values where the field value exists, is not empty or, if it's an array/list, its length is greater than zero.
You can provide the names of the fields you'd like to get as a list on Bubble, on the list of document's or Maps being processed.
For each field you choose to fetch from the document, you must specify the type of data Bubble should try to receive.
In some cases, more than one type can be applied, like in boolean values, that you can get as "text" or "yes/no". In other cases you must be careful to declare the right value, or error can occur, like when you try to declare a "number" for a "text" value.
This option allows you to merge fields of type list in one single list.
For instance, if you have two documents with a field named "tags", that has a list of texts (one ["tag1"] and the other ["tag1", "tag2]), this option will merge them as ["tag1", "tag1", "tag2"] instead of bringing two array values as texts (i.e. ["tag1"], ["tag1", "tag2"]).
This option will make the list of values ignore the front-end filters applied to them.
This is useful when you want to use this list to feed the choices source of a Dropdown or input that you want to use as a front-end filter. If you leave this option unchecked, the choices sorce would be filtered too.
The Firestore Data element provides states according to the query type you chose on it's settings.
A list of texts contains the IDs of each document (it extracts the field "_id").
Lists of fields you chose to retrieve from the documents list, with filters already applied.
If an error occurs, the error message will be stored on this state.
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.
Triggered when the data from the processor is all loaded and ready to be used.
Sorting here works exactly the same as on the front-end operations in the element. This is ideal for performing fast sorting or filters as a reaction from input value changed on the user's UI.
To sort data, you must specify the name of the field, it's type and the direction (descending = yes | ascending = no). In most cases, you'll want to make the sort field be the same from the .
A list of document JSON strings, that can be provided to repeating groups and then, on each cell, extracted through a to get the values from the document fields.
A list of documents, interpreted through the "data schema" you define on an API Connector and provide to the element. See how to configure this on the documentation.