Trabalhando com Firebase Realtime Database no Node.js
Anderson Irias - 16/08/2019
O Firebase Realtime Database é um banco de dados NoSQL hospedado na nuvem. Os dados são armazenados como JSON e sincronizados em tempo real para todos os clientes conectados. Quando você cria aplicativos multiplataforma, todos os seus clientes compartilham uma instância do Realtime Database e recebem automaticamente atualizações com os dados mais recentes. Neste artigo vamos ver um fluxo básico de trabalho com o Firebase Realtime Database no Node.js.
Requisitos
- Node.js - https://nodejs.org/en/
- NPM - https://www.npmjs.com/
1 - Configurar o Firebase Realtime Database
Acesse o painel do firebase: https://console.firebase.google.com/ e crie sua aplicação e configure o banco de dados. Não entrarei em detalhes nesta configuração, verifique a documentação oficial para a configuração: https://firebase.google.com/docs/database/
2 - Instalar o SDK do Firebase no Node.js
Abra o terminal, acesse o diretório raiz do seu projeto e utilize o comando abaixo para realizar a instalação.
npm i --save firebase
3 - Importe o SDK do Firebase no Node.js
import firebase from 'firebase/app'; import 'firebase/database';
4 - Crie o dicionário com as configurações do Firebase
var firebaseConfig = { apiKey: "api-key", authDomain: "auth-domain", databaseURL: "database-url", projectId: "project-id", storageBucket: "sotrage-bucket", messagingSenderId: "messaging-sender-id", appId: "app-id" };
5 - Inicialize o Firebase
firebase.initializeApp(firebaseConfig);
6 - Lendo dados
Após realizar todos os passos, vamos ler dados do nosso banco. Para exemplo vamos utilizar a seguinte estrutura de dados:
{
"artigos": [
{
"primeiroartigo": {
"titulo": "Primeiro Artigo",
"conteudo": "Primeiro artigo para exemplo."
}
}
]
}
Antes de continuar, certifique-se no painel do Firebase que seu banco dados possuí permissão para leitura. Utilize o código abaixo para ler os dados.
firebase.database().ref("artigos/primeiroartigo").on("value", data => { console.log(data.val()); }, errorObject => { console.log(errorObject.code); });