Zoeken…


Hallo World Firebase Realtime-database in Node

Systeem vereisten:

Ermee beginnen

  1. Ga eerst naar Firebase Console en maak een nieuw project.
  2. Na het maken van het project, klik in het project op het instellingenpictogram naast de projectnaam in de linkerzijbalk en selecteer Machtigingen.
  3. Op pagina Machtigingen Klik op Serviceaccounts in de linkerzijbalk en klik vervolgens op Serviceaccount maken
  4. Voer in het pop-upvenster de naam van uw serviceaccount in en kies Accountrol en selecteer Een nieuwe privésleutel verstrekken en daarna JSON en klik op Maken (Google-domeinnaamdelegatie inschakelen niet aangevinkt).
  5. Wanneer u op Maken klikt, wordt een JSON-bestand met uw accountgegevens gedownload. Sla het bestand overal op in uw systeem.
  6. De volgende stap is om een database in uw Firebase-console te maken. Ga hiervoor naar Firebase-console en klik op Database in de zijbalk links. Maak daarna gewoon een nieuw databaseobject met naam user_data met een dummy-waarde.
  7. Nu is uw Firebase Database-project ingesteld. Kopieer nu eenvoudig de volgende code in uw projectmap.
//Loading Firebase Package
var firebase = require("firebase");

/**
* Update your Firebase Project
* Credentials and Firebase Database
* URL
*/
firebase.initializeApp({
  serviceAccount: "<path to Firebase Credentials Json File>",
  databaseURL: "<Firebase Database URL>"
});  //by adding your credentials, you get authorized to read and write from the database


/**
* Loading Firebase Database and refering 
* to user_data Object from the Database
*/
var db = firebase.database();
var ref = db.ref("/user_data");  //Set the current directory you are working in

/**
* Setting Data Object Value
*/
ref.set([
{
    id:20,
    name:"Jane Doe",
    email:"[email protected]",
    website:"https://jane.foo.bar"
},
{
    id:21,
    name:"John doe",
    email:"[email protected]",
    website:"https://foo.bar"
}
]);

/**
* Pushing New Value
* in the Database Object
*/
ref.push({
    id:22,
    name:"Jane Doe",
    email:"[email protected]",
    website:"https://jane.foo.bar"
});

/**
* Reading Value from
* Firebase Data Object
*/
ref.once("value", function(snapshot) {
  var data = snapshot.val();   //Data is in JSON format.
  console.log(data);
});
  1. Verander gewoon met de URL van het JSON-referentiesbestand (kopieer om te beginnen het referentiesbestand in dezelfde map en voeg in het bestand index.js de referenties bestandsnaam toe).
  2. De volgende stap is om de index.js te wijzigen met de daadwerkelijke Firebase Database-URL. U kunt deze URL vinden in Firebase Console op het tabblad Database. De URL ziet eruit als https: //.firebaseio.com/ .
  3. De laatste stap is om te doen
npm install firebase
  1. Na het uitvoeren van bovenstaande opdracht installeert NPM de benodigde pakketten die vereist zijn voor Firebase. Eindelijk om het project uit te voeren en te testen
node index.js

Wat doet het project eigenlijk?

Het project laadt de gegevens uit de cloudgebaseerde Firebase-database. Het project laat ook zien hoe u gegevens kunt schrijven en lezen van een Firebase-gegevensobject.

Om uw gegevens in realtime te bekijken, ga naar uw console, klik op het project dat u hebt gemaakt en klik aan de linkerkant op Database. Daar kunt u zien dat uw gegevens in realtime worden bijgewerkt, samen met hun waarden.

Firebase-wachtrij en werknemer

U kunt taken of gegevens naar de realtime database van FireBase duwen en een medewerker uitvoeren die naar de FireBase-wachtrij luistert om een achtergrondproces uit te voeren

Vuurbasis instellen

  1. Maak een Firebase-project in de Firebase-console, als u er nog geen hebt. Als u al een bestaand Google-project aan uw app hebt gekoppeld, klikt u op Google-project importeren. Klik anders op Nieuw project maken ...

  2. Klik op het pictogram Instellingen en selecteer Machtigingen.

  3. Selecteer Serviceaccounts in het menu aan de linkerkant.

  4. Klik op Serviceaccount maken.

    Voer een naam in voor uw serviceaccount.

    U kunt desgewenst de ID aanpassen van de ID die automatisch wordt gegenereerd op basis van de naam.

    Kies Project> Editor in de vervolgkeuzelijst Rol.

    Selecteer Een nieuwe persoonlijke sleutel inleveren en laat het Sleuteltype als JSON.

    Laat inschakelen Google Apps domeinbrede delegatie uitgeschakeld.

    Klik op Maken

  5. Wanneer u het serviceaccount maakt, wordt een JSON-bestand met de inloggegevens van uw serviceaccount voor u gedownload. U hebt dit nodig om de SDK in de server te initialiseren.

Setup-server

Installeer firebase-queue met npm in je nodejs-app

npm install firebase firebase-queue --save

Nadat u firebase en firebase-queue hebt geïnstalleerd, kunt u aan de slag gaan door een nieuwe wachtrij te maken en deze uw Firebase-referentie en een verwerkingsfunctie door te geven.

Laten we nu vanuit de app een firebase-wachtrijtaak maken en een medewerker instellen om te luisteren naar firebase-wachtrijtaak en een e-mail sturen naar de aangemaakte e-mail van de gebruiker.

* server.js

var app=express();
var Queue = require('firebase-queue'),
    Firebase = require('firebase');

Update uw Firebase-projectreferenties en de URL van de Firebase-database

var firebase = Firebase.initializeApp({
    serviceAccount: "path/to/serviceAccountCredentials.json",
  databaseURL: "https://databaseName.firebaseio.com"
});

of u kunt firebase-gegevens rechtstreeks invoeren zoals hieronder

var firebase = Firebase.initializeApp({ 
    serviceAccount: {
        projectId: "projectId",
        clientEmail: "[email protected]",
        privateKey: "-----BEGIN PRIVATE KEY-----\nkey\n-----END PRIVATE KEY-----\n"
    },
    databaseURL: "https://databaseName.firebaseio.com"
});


var refQueue = firebase.database().ref("queue/tasks");

createUser =  funtion(email, password){
    var user = {
        username: email,
        password: password
    };
    user = new db.users(user);
    user.save(function(err, user){
        if(!err){
            refQueue.push({case: "NEW_USER", data: user});
        }
    })
}

createUser("[email protected]", "password");

* worker.js

var Queue = require('firebase-queue'),
    Firebase = require('firebase');

//Update your Firebase Project Credentials and Firebase Database URL by one of the way specified in server.js
var firebase = Firebase.initializeApp({
    serviceAccount: "path/to/serviceAccountCredentials.json",
  databaseURL: "https://databaseName.firebaseio.com"
});

var refQueue = firebase.database().ref("queue");

var queue = new Queue(refQueue, function(data, progress, resolve, reject) {
    switch(data.case){
        case "NEW_USER":
            sendMail(data.data.email);
            console.log("user created");
            //sendMail function is not an inbuilt function and will not work unless you define and implement the function
            break;

    // Finish the task asynchronously
    setTimeout(function() {
        resolve();
    }, 1000);
});

voer server en medewerker afzonderlijk uit en test rond met firebase wachtrij

node server.js

node worker.js


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow