如何从云函数对firestore DB进行CRUD操作? (Node.js)

问题描述 投票:0回答:1

我使用云函数作为 Webhook 接收器,因此每次获得 Webhook 时,我都想用一些数据更新 firestore。我不知道如何在我的云函数中使用 firestore。

我试过这个:

      const admin = require("firebase-admin");
      ...
      
      admin.initializeApp();

      res.send(admin.database().ref("/tmp_list/1uMW9ED3YGMfERHZiKJc").get());

似乎所有人都无法启动这一点。我也尝试过:

 admin.initializeApp(functions.config().firebase);
javascript firebase google-cloud-platform google-cloud-firestore google-cloud-functions
1个回答
1
投票

文档中所述,以下应该可以解决问题:

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();

然后,要与 HTTPS 云函数中的实时数据库交互,您应该按照以下方式进行操作:

exports.date = functions.https.onRequest(async (req, res) => {
  const db = admin.database();

  const dataSnapshot = await db.ref("tmp_list/1uMW9ED3YGMfERHZiKJc").get();

  const data = dataSnapshot.val();

  // ... 

  res.send(data);
});

由于您将问题标记为

google-cloud-firestore
,请注意,为了在 HTTPS 云功能中与 Firestore 交互,您应该执行以下操作:

exports.date = functions.https.onRequest(async (req, res) => {
  const db = admin.firestore();

  const docSnapshot = await db.doc("tmp_list/1uMW9ED3YGMfERHZiKJc").get();

  const data = docSnapshot.data();

  // ... 

  res.send(...)
});

我建议您观看以下官方视频

© www.soinside.com 2019 - 2024. All rights reserved.