Firestore Node Upload
I dette eksempel forbindes der til Firestore via Node.js. Dvs. koden der skal afvikles på serveren kan skrives i javascript, og vi kan derfor bruge viden om syntaks fra arbejdet med p5js.
Opsætning af Node projekt
For at kunne arbejde med firestore fra node.js, skal der laves en pakke / projekt at arbejde i.
Dette kan gøres ved at oprette en mappe til projektet og køre denne kommando for at generere en package.json fil.
Man bliver så bedt om at svare på en række spørgsmål, og ender med en struktur der ser nogenlunde sådan ud:
For at kunne benytte Firebase SDK skal vi have dette installeret, hvilket kan klares med kommandoen.
Vi får også brug for at arbejde med formatering af dato og tidspunkter, så derfor vælger vi at bruge biblioteket Moment.js for at lette arbejdet med disse. Moment.js kan installeres med denne kommando.
Nu burde Firebase SDK og Moment.js være installeret og tilføjet som afhængigheder og package.json ser nu nogenlunde således ud.
Som det ses er der nu tilføjet afhængigheder til Firebase og moment pakkerne. De nærmere detaljer kan findes i denne guide.
Dette er et eksempel på en hvordan man kan lave et lille program, der indsætter en stump data i firestore.
Firestore upload eksempel
Der skal bruges en såkaldt Service Account, for at kunne forbindes fra node til firebase.
Guiden forklarer, hvad du skal gøre for at oprette en service account til dit firebase projekt.
Disse oplysninger er private, så vær opmærksom på ikke at holde dem for dig selv.
For eksemplet virker skal oplysningerne om din Service Account oprettes i file serviceAccountKey.json.
Håndtering af private nøgler
For at undgå at sprede disse oplysninger er det en god ide at tilføje denne fil til listen over filer der skal ignoreres af git.
Dvs. at din .gitignore fil kunne se således ud.
Hvis javascript eksemplet gemmes i en fil med navnet firebase-upload-demo.js, kan programmet køres med kommandoen
Materiale
- Clouc Firestore dokumentation.
- Add the Firebase Admin SDK to Your Server guide til at komme i gang med firebase på en server.
- Cloud Firestore quickstart guide til at komme i gang med firestore.
- gitignore dokumentation.
- Moment.js
- firestore.TimeStamp
- firestore.FieldValue
- firestore.SetOptions