我在Firebase项目中使用多个数据库。用于主(默认)数据库的云函数工作很好,但是,我不能让它们为辅助数据库工作。例如,我希望在具有管理权限的节点上发出读取请求:
//this works
admin.database().ref(nodePath).once('value')...
但是,如果我想在另一个数据库上执行命令,则它不能工作:
//this doesn't work
admin.database(secondaryDatabaseUrl).ref(nodePath).once('value')...
尽管部署了这些函数,但在尝试执行云功能时
我有一个Android应用程序使用Firebase数据库,认证和云功能模块。当用户通过应用程序创建配置文件并设置用户全名时,
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// user signed in
String displayName = user.getDisplayName();
// do whatever with displayName...
} else {
// ....
}
几乎和预期的一样--不管用户输入什么。
基于,在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作为后端。我正在成功地对用户进行身份验证并写入数据库。我有一个课程索引和用户索引,其结构如下:
{
courses: { // index all the courses available
key1: {
title: "Course 1",
desc: "This is a description string.",
date: { 2018-01-01 12:00:00Z }
members: {
user1: true
我编写了一个云函数,它侦听从firebase实时数据库中删除的内容。如果只有一次删除--控制台显示该项已被删除,则效果很好。
但是,如果在我的实时数据库中同时有多个删除,那么我的云功能只会被这些删除中的一个触发!我做错了什么?
下面是我的场景:我在同一个站点上打开两个浏览器选项卡。每次在每个选项卡中连接到我的web应用程序时,我都会通过push__创建一个实时数据库条目和一个引用。然后通过关闭浏览器窗口关闭两个选项卡,该窗口对我的引用调用onDelete,这将触发通过remove删除数据库上的引用--我可以确认这两个引用都已从数据库中删除。但是,只有一个删除在我的云功能中注册。
云函数
con
我想删除任何超过两个小时的数据。我知道这里已经回答了这个问题
答案是:
var ref = new Firebase('https://yours.firebaseio.com/path/to/items/');
var now = Date.now();
var cutoff = now - 2 * 60 * 60 * 1000;
var old = ref.orderByChild('timestamp').endAt(cutoff).limitToLast(1);
var listener = old.on('child_added', f
我正在使用firebase云函数来监听数据库值事件,这是我的代码
var functions = require('firebase-functions');
var firebase = require('firebase-admin');
var serviceAccount = require("./serviceAccountKey.json");
firebase.initializeApp({
credential : firebase.credential.cert(serviceAccount),
da