私はデモアプリケーションのバックエンドとしてFirebaseを使用していますが、スタックがかなり好きですが、1つの問題を抱えています。データベースから値を取得する方法を理解できません。キーがきれいになっている)。
簡単に言えば、Firebase機能に到達しようとしている別のデバイスの「フレンドリーネーム」を含む情報を、あるデバイスから送信しています。 機能コードは次のようになります。Firebaseデータベースから値を取得し、それをFirebase Cloud Functionsの値に割り当てる方法は?
exports.connectMe = functions.https.onRequest((req, res) => {
cors(req, res,() => {
admin.database().ref('calls/' + req.body.id + '/').set({
target: req.body.target,
caller: req.body.caller,
time: req.body.time
});
const target = req.body.target;
console.log(`target: ${target}`);
const targetCall = admin.database().ref(`tokens/${target}/token`);
console.log(targetCall);
// const targetValue = targetCall.val();
res.status(200).send("Thanks For The Call!");
});
});
変数、targetCallは正しく、私が到達したいDBのエントリで指摘されたが、私は私の人生のための値を抽出することはできません。 admin.database.ref
にあるトークンは、http要求に配置する必要があります。どのように値を取得するのですか?コメントアウトされたコードは、変数を格納したい変数を示しますが、.val()は参照の方法ではありません。
レコードの場合、admin
はコード内で先にrequire('firebase-admin');
に設定されています。
それは私が欲しかったのと同じように働いています。私はononce( 'value')が初期化以上のものだったことを理解していませんでした。 –
両方の非同期操作を待つことを忘れないでください!競合状態になり、結果が一貫しない可能性があります。 Promise.all(...)勝利のために。 – Kato