当前位置: 首页 > 知识库问答 >
问题:

从节点使用Firebase实时数据库

公孙阳羽
2023-03-14

每当我使用Admin SDK从Node运行Firebase实时数据库代码时,进程都会挂起。例如,我可能有一个节点应用程序deactivate.js

const admin = require("firebase-admin");
// initialize app code...

admin.database().ref(`users/${userId}/active`).set(false)

我使用nodedeactivate.js运行。用户将设置为不活动,这很好。但是节点进程将挂起。我必须按ctrl-c才能返回提示。

我应该使用Firebase在节点应用程序中关闭连接或执行其他操作吗?对于Firebase函数,我必须返回从上述调用生成的promise。那么,Firebase函数是否自动处理关闭我现在需要手动处理的任何东西?

共有1个答案

司信厚
2023-03-14

您处理Cloud Functions的方式与您处理独立节点进程的方式完全不同。当使用Admin SDK在必须完成的独立节点进程中访问实时数据库时,请执行以下操作以确保进程在所有工作完成时退出:

admin.database().ref(`users/${userId}/active`).set(false)
.then(() => {
    process.exit(0)
})
.catch((err) => {
    console.error(err)
    process.exit(1)
})
 类似资料:
  • 我有两个关于Firebase实时数据库的重要问题(对于带有java的android)。 遵守以下结构: 我有以下课程: 为了搜索用户的数据(姓名、年龄、地区和肤色),我做到了: 问题1:在进行搜索时,firebase是只下载用户数据(除了消息节点)还是也下载消息节点中的数据? 想象一下,消息节点中有数百万条消息,进行此搜索,是否也会下载数百万条消息?为什么消息节点在用户节点内? 我只想要数据名称、

  • 由按键生成的firebase子节点 使用Javascript,如何在firebase实时数据库上删除由push key生成的子节点 上面的代码用于向实时数据库添加数据

  • 如何从控制台从FireBase中删除节点?由于它太大,显然我无法从控制台中删除它。通常我可以按节点名称附近的删除按钮,但它显示控制台仅出于性能原因而读取。

  • 我的Firebase数据库映像在Firebase的实时数据库中,我正在尝试访问父节点的名称,并给出了子节点的名称。但是,.parent似乎需要对子节点的引用,如果没有父节点的名称,我似乎无法获得子节点的引用。 这是我的数据的代码: 问题出在like函数中:如果我能找到一种方法来获取发tweet(参数t表示的tweet)的人的userId,那么第一个var y和所有这些都是不必要的。 如果我可以得到

  • 在实时数据库中未创建根节点。所有依赖项均已实施,firebase已连接到该项目。这是代码。 public void onComplete(@非空任务任务){

  • 我想删除firebase实时数据库中某个子项的特定子项。 我已经添加了我的数据库的图片。 我想删除突出显示的子对象。