Поиск…


Hello World Firebase База данных реального времени в узле

Системные Требования:

Начиная

  1. Сначала перейдите в Firebase Console и создайте новый проект.
  2. После создания проекта в проекте щелкните значок настроек, кроме имени проекта, в левой боковой панели и выберите Разрешения.
  3. На странице разрешений Нажмите на учетные записи службы на левой боковой панели, затем нажмите «Создать учетную запись службы»
  4. В раскрывающемся окне введите имя учетной записи службы и выберите «Роль учетной записи» и выберите «Завершить новый закрытый ключ», а затем выберите «JSON» и нажмите «Создать» («Оставить» Включить «Отключить показ домена для домена Google»).
  5. Когда вы нажмете кнопку «Создать», он загрузит файл JSON с учетными данными учетной записи, просто сохраните файл «Anywhere» в вашей системе.
  6. Следующим шагом будет создание базы данных в вашей Firebase Console, для которой перейдите в Firebase Console и нажмите «Database» в левой панели. После этого просто создайте новый объект базы данных с именем user_data с некоторым фиктивным значением.
  7. Теперь ваш проект базы данных Firebase теперь просто скопирует следующий код в каталог проекта.
//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. Просто измените URL-адрес файла учетных данных JSON (для начала просто скопируйте файл учетных данных в ту же папку, а в файле index.js просто добавьте имя файла учетных данных).
  2. Следующим шагом является изменение в index.js с фактическим URL-адресом базы данных Firebase, вы сможете найти этот URL-адрес в Firebase Console в закладке Database, URL-адрес будет выглядеть как https: //.firebaseio.com/ .
  3. Последний шаг - сделать
npm install firebase
  1. После выполнения команды NPM установит необходимые пакеты для Firebase. Наконец, чтобы запустить и протестировать выполнение проекта
node index.js

Что делает проект на самом деле?

Проект загружает данные из облачной базы данных Firebase. Проект также демонстрирует, как записывать и считывать данные из объекта данных Firebase.

Чтобы просмотреть ваши данные, обновите их в реальном времени, перейдите в свою консоль, щелкните по проекту, который вы сделали, а слева нажмите «База данных». Там вы можете увидеть, как ваши данные обновляются в режиме реального времени вместе со своими значениями.

Firebase-queue и работник

Вы можете нажимать задачи или данные в базу данных реального времени firebase и запускать рабочего, который слушает очередь firebase для запуска некоторой фоновой обработки

Установка огневой базы

  1. Создайте проект Firebase в консоли Firebase, если у вас его еще нет. Если у вас уже есть существующий проект Google, связанный с вашим приложением, нажмите «Импортировать проект Google». В противном случае нажмите «Создать новый проект».

  2. Нажмите значок настроек и выберите Разрешения.

  3. Выберите «Сервис» в меню слева.

  4. Нажмите «Создать учетную запись службы».

    Введите имя для своей учетной записи службы.

    Вы можете по желанию настроить идентификатор из автоматически создаваемого имени.

    Выберите «Проект»> «Редактор» в раскрывающемся списке «Роль».

    Выберите Furnish новый закрытый ключ и оставьте тип Key как JSON.

    Оставить Включить исключение для домена Google Apps не выбрано.

    Нажмите «Создать»

  5. Когда вы создаете учетную запись службы, для вас загружается файл JSON, содержащий учетные данные вашей учетной записи службы. Это необходимо для инициализации SDK на сервере.

Сервер установки

Установите firebase-queue с помощью npm в приложении nodejs

npm install firebase firebase-queue --save

После того, как вы установили firebase и firebase-queue, вы можете начать работу, создав новую очередь и передав ей ссылку на Firebase и функцию обработки.

Теперь давайте создадим задачу очереди firebase из приложения, когда создается новый пользователь, и задайте работнику прослушивание задачи очереди в firebase и отправьте электронное письмо созданной почте пользователей.

* server.js

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

Обновите учетные данные Project Firebase и URL базы данных Firebase

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

или вы можете вводить учетные данные firebase непосредственно, как показано ниже

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);
});

запускайте сервер и рабочий отдельно и проверяйте их с помощью очереди firebase

node server.js

node worker.js


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow