我编写了一个云函数,它侦听从firebase实时数据库中删除的内容。如果只有一次删除--控制台显示该项已被删除,则效果很好。
但是,如果在我的实时数据库中同时有多个删除,那么我的云功能只会被这些删除中的一个触发!我做错了什么?
下面是我的场景:我在同一个站点上打开两个浏览器选项卡。每次在每个选项卡中连接到我的web应用程序时,我都会通过push__创建一个实时数据库条目和一个引用。然后通过关闭浏览器窗口关闭两个选项卡,该窗口对我的引用调用onDelete,这将触发通过remove删除数据库上的引用--我可以确认这两个引用都已从数据库中删除。但是,只有一个删除在我的云功能中注册。
云函数
con
基于,在Firebase数据库中添加/更新/删除文档时,可以通过以下方式创建云函数以触发:
functions.database.ref('/messages/{pushId}/original').onUpdate();
但是,当我调用以下内容时,使用Node.js管理SDK:
admin.database().ref("/messages/{pushId}/original").onUpdate();
它返回错误:
TypeError: admin.database(...).ref(...).onUpdate is not a function
在云运行或
这里的初学者,我正在使用Firebase实时数据库,我需要我的API在添加了什么东西时不断地返回这个值--请参阅下面的代码。
apiCalls.get('/api/getallusers',function(req,res){
userFunc.getAllUsers(function(err,result){
if (err) return res.status(500).send('internal server error!');
res.status(200).write(JSON.stringify(result));
re
目前,Firebase提供的开源云函数使用onwrite to Firebase数据库来触发对Stripe的计费:
看起来使用https触发器来调用Stripe会更直接、更快,而不是写到Firebase本地数据库,后者会同步/写入到Firebase服务器数据库,然后触发对Stripe的云函数调用。
使用Https调用触发条带调用会有问题吗?使用onwrite触发器而不是https有什么好处?
我开始使用实时数据库创建我的realtime本地android应用程序,但后来意识到我无法执行一些查询(比如哪里),所以我改到了云防火墙,但我发现将用于实时数据库的代码更改为云防火墙有困难。我把这个用于实时数据库,运行良好。
firebase.database().ref('/users').on('value', (snapshot) => {
let data = snapshot.val();
let items = Object.values(data);
this.setState({items});
}