Skip to main content
Programación

Estructura de datos en Firebase / Firestore

By 21 de mayo de 2022No Comments

Firestore es un tipo de base de datos NoSQL de Firebase para almacenar los datos de nuestras aplicaciones.

Cloud Firestore es una base de datos flexible y escalable para la programación en servidores, dispositivos móviles y la Web desde Firebase y Google Cloud Platform. Al igual que Firebase Realtime Database, mantiene tus datos sincronizados entre apps cliente a través de agentes de escucha en tiempo real y ofrece asistencia sin conexión para dispositivos móviles y la Web, por lo que puedes compilar apps con capacidad de respuesta que funcionan sin importar la latencia de la red ni la conectividad a Internet. Cloud Firestore también ofrece una integración sin interrupciones con otros productos de Firebase y Google Cloud Platform, incluido Cloud Functions.

Cabe destacar que a día de hoy, aún se encuentra en versión beta, pero resulta bastante robusta y no he encontrado prácticamente ningún problema en su uso con aplicaciones en producción.

Como en cualquier base de datos, es de vital importancia dedicar especial cariño a su diseño, ya que invertir el tiempo necesario en la correcta estructuración de los datos, podría llevarnos al éxito… o en su defecto a la más profunda frustración.

¿Qué nos permite Cloud Firestore?
Debemos recordar que se trata de una base de datos NoSQL, por lo que para quienes solemos trabajar con bases de datos orientas a documentos como puede ser MongoDB, ésta no nos pillará desprevenidos.

Como resumen se podría decir que la base de datos se estructura en colecciones, y que dichas colecciones contienen documentos (que son el conjunto de atributos y valores que definen un objeto). Cada colección tiene su nombre, mientras que cada documento tiene su identificador único.

Colección

Documento 1 - ID

  • Atributo 1 = String
  • Atributo 2 = Int
  • Atributo 3 = Double

Documento 2 - ID

  • Atributo 1 = Bool
  • Atributo 2 = Int
  • Atributo 3 = String

Recordemos que los documentos de una colección no tienen por qué tener los mismos atributos que sus hermanos.

Como comentamos previamente, Cloud Firestore se trata de una de las herramientas ofrecidas por Google en el servicio de Firebase, por lo que en primera instancia debemos estar dados de alta en el servicio. Para ello basta con acceder a la url y autenticarse con la cuenta de Google.

https://console.firebase.google.com/

Una vez hecho esto, podremos crear un proyecto Firebase, o acceder a uno ya existente.

En el caso de crear un nuevo proyecto, se nos preguntará el nombre que deseamos darle y la región donde se encontrará hospedado el servicio. Esta última es de especial relevancia de cara a la RGPD (Reglamento General de Protección de Datos).

Cuando cumplimentamos la información indicada, se procederá a la creación del proyecto.

Una vez termine el proceso, nos redireccionarán al dashboard de Firebase, donde tendremos acceso a todos los servicios del proyecto.

Para acceder finalmente a Firestore, deberemos dirigirnos al apartado Database e indicar que queremos acceder a Cloud Firestore.

Nos preguntarán el nivel de seguridad que queremos definir, elegiremos por defecto la primera opción, definida como “modo bloqueado”, la cual restringe el acceso a los datos a cualquier persona y solo podrán ser editados desde el panel de Firestore. Este valor podrá ser modificado posteriormente por la segunda opción “modo de prueba”.

Edusys

Author Edusys

More posts by Edusys