LoginSignup
4
2

More than 5 years have passed since last update.

Lambdaでfirebase realtime databaseを使う

Posted at

firebase側

firebaseのプロジェクトを作成し、新しい秘密鍵の生成をする。

設定>>プロジェクトの設定>>サービスアカウント>>新しい秘密鍵の生成

izvote_–_設定_–_Firebase_console.png

ダウンロードできたJSONファイルをプロジェクトのどっかに置く。

index.js

初期設定的なやつ。


var admin = require("firebase-admin");

var serviceAccount = require("./serviceAccountKey.json");

// appNameをプロジェクト名にする
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://appName.firebaseio.com"
});
var db = admin.database();
var ref = db.ref("/path");

データの保存

set データの書き込みor置換

/users/以下に保存
子ノード全てを更新してしまうので、既存のデータも上書きしてしまう。更新にはupdateを使う

var usersRef = ref.child("users");
await usersRef.set({
  user01: {
    name: "imajo"
  }
});

update データの更新

var usreRef = usersRef.child("user");
userRef.update({
  "nickname": "imajojo"
});

取得

once

await usersRef.once("value", function(snapshot) {
  console.log(snapshot.val());
}, function (errorObject) {
  console.log("The read failed: " + errorObject.code);
});

パラメータ(クエリ)指定して取得する方法は以下
https://firebase.google.com/docs/database/admin/retrieve-data?authuser=0#section-queries

参考

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2