firebase
Firebase mit Knoten verwenden
Suche…
Hello World Firebase-Echtzeitdatenbank im Knoten
System Anforderungen:
Fertig machen
- Gehen Sie zuerst zur Firebase-Konsole und erstellen Sie ein neues Projekt.
- Klicken Sie nach dem Erstellen des Projekts im Projekt auf das Symbol für Einstellungen neben dem Projektnamen in der linken Seitenleiste und wählen Sie Berechtigungen.
- Auf der Seite Berechtigungen Klicken Sie in der linken Seitenleiste auf Dienstkonten und dann auf Dienstkonto erstellen
- Geben Sie im Popup-Fenster Ihren Dienstkontonamen ein, wählen Sie Kontorolle aus, und wählen Sie Neuen privaten Schlüssel bereitstellen aus. Wählen Sie anschließend JSON aus, und klicken Sie auf Erstellen (Deaktivieren Sie die Option Domain-weite Delegierung für Google App aktivieren).
- Wenn Sie auf "Erstellen" klicken, wird eine JSON-Datei mit Ihren Kontoanmeldeinformationen heruntergeladen. Speichern Sie die Datei einfach überall in Ihrem System.
- Der nächste Schritt ist das Erstellen einer Datenbank in Ihrer Firebase-Konsole, für die Sie zur Firebase-Konsole gehen, und klicken Sie in der linken Seitenleiste auf Datenbank. Danach erstellen Sie einfach ein neues Datenbankobjekt mit dem Namen user_data mit einem Dummy-Wert.
- Jetzt ist Ihr Firebase-Datenbankprojekt eingerichtet. Kopieren Sie einfach folgenden Code in Ihr Projektverzeichnis.
//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);
});
- Ändern Sie einfach die URL der JSON-Anmeldeinformationsdatei (Für Anfänger kopieren Sie einfach die Anmeldeinformationsdatei in den gleichen Ordner und fügen Sie in der Datei index.js den Dateinamen der Anmeldeinformationen hinzu).
- Der nächste Schritt besteht darin, die in index.js mit der aktuellen Firebase-Datenbank-URL zu ändern. Sie finden diese URL in der Firebase-Konsole im Datenbank-Tab. Die URL lautet https: //.firebaseio.com/ .
- Der letzte Schritt ist zu tun
npm install firebase
- Nach dem Ausführen des obigen Befehls installiert NPM die für Firebase erforderlichen Pakete. Zum Abschluss Ausführen und Testen des Projekts
node index.js
Was macht das Projekt eigentlich?
Das Projekt lädt die Daten aus der Cloud-basierten Firebase-Datenbank. Das Projekt zeigt auch, wie Daten aus einem Firebase-Datenobjekt geschrieben und gelesen werden.
Um zu sehen, dass Ihre Daten in Echtzeit aktualisiert werden, klicken Sie in der Konsole auf das Projekt, das Sie erstellt haben, und klicken Sie links auf Datenbank. Dort können Sie sehen, wie Ihre Daten zusammen mit ihren Werten in Echtzeit aktualisiert werden.
Firebase-Warteschlange und Arbeiter
Sie können Aufgaben oder Daten in die Echtzeitdatenbank der Firebase pushen und einen Worker ausführen, der die Firebase-Warteschlange überwacht, um Hintergrundprozesse auszuführen
Firebase einrichten
Erstellen Sie ein Firebase-Projekt in der Firebase-Konsole, falls Sie noch kein Projekt haben. Wenn Sie bereits ein Google-Projekt mit Ihrer App verknüpft haben, klicken Sie auf Google Project importieren. Andernfalls klicken Sie auf Neues Projekt erstellen.
Klicken Sie auf das Einstellungssymbol und wählen Sie Berechtigungen.
Wählen Sie links im Menü Dienstkonten aus.
Klicken Sie auf Dienstkonto erstellen.
Geben Sie einen Namen für Ihr Dienstkonto ein.
Sie können optional die ID aus der ID anpassen, die automatisch aus dem Namen generiert wird.
Wählen Sie in der Dropdown-Liste Rolle den Befehl Projekt> Editor.
Wählen Sie Neuen privaten Schlüssel bereitstellen und belassen Sie den Schlüsseltyp als JSON.
Lassen Sie die Aktivierung der domänenweiten Delegierung für Google Apps nicht aktiviert.
Klicken Sie auf Erstellen
Beim Erstellen des Dienstkontos wird eine JSON-Datei mit den Anmeldeinformationen Ihres Dienstkontos für Sie heruntergeladen. Sie benötigen dies, um das SDK im Server zu initialisieren.
Server einrichten
Installieren Sie die Firebase-Warteschlange mit npm in Ihrer nodejs-App
npm install firebase firebase-queue --save
Nachdem Sie Firebase und Firebase-Warteschlange installiert haben, können Sie loslegen, indem Sie eine neue Warteschlange erstellen und ihr die Firebase-Referenz und eine Verarbeitungsfunktion übergeben.
Jetzt können Sie eine Firebase-Warteschlangenaufgabe aus der App erstellen, wenn ein neuer Benutzer erstellt wird, und den Worker so einstellen, dass er auf die Firebase-Warteschlangenaufgabe wartet und eine E-Mail an die E-Mail der erstellten Benutzer sendet.
* server.js
var app=express();
var Queue = require('firebase-queue'),
Firebase = require('firebase');
Aktualisieren Sie Ihre Firebase-Projektanmeldeinformationen und die Firebase-Datenbank-URL
var firebase = Firebase.initializeApp({
serviceAccount: "path/to/serviceAccountCredentials.json",
databaseURL: "https://databaseName.firebaseio.com"
});
oder Sie können die Firebase-Anmeldeinformationen wie unten angegeben direkt eingeben
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);
});
Führen Sie Server und Worker getrennt aus und testen Sie die Firebase-Warteschlange
node server.js
node worker.js