Node.js에서 Firebase RealTime DB 터치

입문


Firebase RealTime Database(이하 RealTime DB)는 구글이 제공하는 NoSQL 클라우드 데이터베이스다.
서버에 있는 프로그램(Node.js)에서 RealTIme DB를 읽을 때 가져온 기사입니다.
이 글은 공식 문서에서 발췌하고 요약한 것이므로 더욱 전면적이고 체계적인 정보가 필요하면 공식 문서를 참고하십시오.

사용 예


RealTime DB는 100대의 동시 접속과 1GB의 용량, 10GB의 전송량을 사용하여 개인이 사용하고 여러 클라이언트 간에 데이터를 교환할 수 있는 지연 시간이 적습니다.
예를 들어 라즈베리피에서 IoT 기기와 스마트폰의 센서 값을 얻어 어떤 처리를 한다고 가정한다.

배치


항목 만들기


구글 계정에서 Firebase 창설 프로젝트에 접근합니다.
프로젝트 이름과 국가를 지정하고 확인란을 확인하라는 요청을 받았습니다.
이번에는 프로젝트 이름을 적당히 테스트로 삼았다.

데이터베이스 만들기


프로젝트 생성이 완료되면 프로젝트 컨트롤러에 데이터베이스를 만듭니다.
화면 왼쪽에 배열된 메뉴에서 DEVELOP -> Database 을 선택하고 RealTime Databaseスタートガイド (또는 使ってみる 데이터베이스에 들어가서 화면을 만듭니다.모든 클라이언트가 쉽게 데이터를 읽고 쓸 수 있도록 하기 위해서다.
화면에 데이터베이스를 만들 수도 있지만 JSON 형식으로 미리 설계된 데이터베이스를 가져올 수도 있습니다.
예를 들어, 다음과 같이 설계된 JSON을 데이터베이스로 사용합니다.
예제 데이터베이스
{
    "room1": {
        "temperature": 0,
        "humidity": 0
    },
    "room2": {
        "temperature": 0,
        "humidity": 0
    }
}

Node.js의 이용


설치하다


실행 환경에서 노드.js와 npm를 가져옵니다.여기에는 특별한 설명이 없다.
가져오기 후 터미널 또는 터미널 에뮬레이터에서 다음 명령을 실행합니다.js에 Firebase Admin SDK를 설치합니다.
$ npm install firebase-admin

자격 증명 제출


프로젝트 콘솔에서 자격 증명을 제출합니다.テストモード  -> Project Overview 右の歯車 -> プロジェクトの設定 -> サービスアカウント인증 정보가 포함된 JSON 파일을 다운로드하려면 자세히 저장하십시오.기밀 정보이기 때문에 공개할 수 없다.

실시


실제 쓰기 프로그램.
인증 섹션
우선 인증 부분입니다.적당한 js 파일을 만들고 텍스트 편집기에서 다음 내용을 기술합니다.
test.js
var admin = require('firebase-admin');
var serviceAccount = require('認証情報のJSONファイルへのpath');

admin.initializeApp( {
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://test-4552f.firebaseio.com" //データベースのURL
} );
데이터 검색
검증 섹션에서 다음 내용을 계속 추가합니다.
test.js

var db = admin.database();
var ref = db.ref("room1"); //room1要素への参照

/* room1以下に対しての非同期コールバック */
ref.on("value", function(snapshot) {
    /* ここに取得したデータを用いた何らかの処理 */
    console.log(snapshot.val());
}, 
function(errorObject) {
    console.log("The read failed: " + errorObject.code);
} );
新しい秘密鍵の生成 메서드의 첫 번째 매개 변수는 읽기 이벤트 유형을 지정합니다.on 프로그램이 실행될 때와 인용된 데이터베이스를 업데이트할 때 리셋 함수에 불이 납니다.
터미널 또는 터미널 에뮬레이터에서 실행을 시도할 때 다음과 같이 출력해야 합니다.
$ node test.js
{ humidity: 0, temperature: 0 }
이제 프로젝트 콘솔에서 valueroom1 을 변경합니다.

변경 사항이 실행 중인 프로그램에 통지되면 다음과 같이 출력해야 합니다.
$ node test.js
{ humidity: 0, temperature: 0 }
{ humidity: 0, temperature: 20 }
참조된 데이터베이스의 요소에 액세스하려면 다음과 같이 하십시오.
예: 액세스tempertureroom1test.js
ref.on("value", function(snapshot) {
    console.log(snapshot.val().temperature); //またはsnapshot.child("temperature").val()
}, 
function(errorObject) {
    console.log("The read failed: " + errorObject.code);
} );
$ node test.js
20
데이터 업데이트
검증 섹션에서 다음 내용을 계속 추가합니다.
예: temperatureroom1 을 10으로 업데이트합니다.
test.js
var db = admin.database();
var ref = db.ref("room1"); //room1要素への参照

ref.update( {
    "humidity": 10 //更に子の要素にアクセスするには / で区切って指定
} );
이 동작을 실행하고 프로젝트 컨트롤러에서 데이터베이스를 볼 때 다음과 같이 해야 합니다.

좋은 웹페이지 즐겨찾기