Articles of firebase

处理Firebase中的多个url以供参考?

我有一个情况,有多个用户,他们都有独特的hashId分配给他们,这使得他们的URL不同。 users/hashId/bla/blah 这些URL唯一的区别是hashId值。 当我的客户端更新firebase中的数据时,我需要将服务器交互应用到节点端的child_added事件侦听器。 应用程序可以有任何数量的用户,如何缩放每个URL的child_added? 有没有dynamicUrl的概念? 由于每个URL的引用都是新的,我不确定这种情况。 另外我不希望去一个for循环,dynamic事件绑定。 PS:Firebase比较新。

Firebase Node.js SDK未经身份validation的访问

我试图使用3.1.0版本引入的新function来访问实时数据库:“Node.js SDK现在支持未经身份validation的访问。如果没有提供服务帐户,实时数据库访问将被限制,就像任何未经身份validation的客户端一样。 “ SDK更新到3.1.0: user@ha:~/dev/project/auth/firebase$ sudo npm install -g firebase [sudo] password for user: /usr/local/lib └─┬ firebase@3.1.0 尝试没有服务帐户: var firebase = require('firebase'); console.log('Initialise Firebasse app'); firebase.initializeApp({ // serviceAccount: "", databaseURL: "https://some-valid-firebase.firebaseio.com" }); 结果是: user@ha:~/dev/project/auth/firebase$ nodejs fb_anon.js Initialise Firebasse app /home/user/dev/project/node_modules/firebase/auth-node/auth.js:61 throw new Error('Invalid service account provided'); ^ 请帮助,可能我在这里错过了一些明显的东西。 🙁

Firebase通知控制台等效于nodejs

我有以下代码在我的节点服务器中发送推送通知 这个工作正常,当应用程序在前台或后台。 但是,当这个应用程序被杀害时,这不起作用。 使用Firebase通知控制台,即使应用程序被终止,也会收到推送 我错过了什么?

在队列中处理任务后更新客户端

Firebase客户端可以将任务添加到队列中,如下所示: var tasks = db.ref('quote-request-queue/tasks'); tasks.push({'need': 'quote for customer'}); 这个任务代表一个请求得到一个项目的报价。 在后端,Firebase队列工作人员将完成任务并完成一些工作,但在后端工作完成后更新客户端的规范方式是什么? 我们是否应该使用login用户模型中的一个属性,为此客户端监听更改? login的用户可以监听自己的模型的变化,然后更改将获得报价数据? 除了已login的用户模型本身之外,也许还可以在DB中使用另一个模型?

节点GeoFire内存泄漏?

我似乎有一些非常基本的firebase + firebase-queue +在Node上运行的GeoFire代码,这看起来会导致内存泄漏,但是我并不相信我并没有把某些东西搞砸。 'use strict'; if (!process.env.FIREBASE_PROJECT_ID) { require('dotenv').config({ silent: true }); } let fbConfig = require('./firebase-config'); let fbNodes = fbConfig.NODES; let Queue = require('firebase-queue'); let admin = require("firebase-admin"); let GeoFire = require('geofire'); admin.initializeApp({ credential: admin.credential.cert(fbConfig.FIREBASE_SERVICE_ACCOUNT), databaseURL: fbConfig.APP_SETTINGS.databaseURL }); let db = admin.database(); let queueRef = db.ref(fbNodes.QUEUE); let geoFire = new GeoFire(db.ref(fbNodes.GEOFIRE)); var q […]

用户在Firebase / Node.js中全局logging

我遇到了Firebase的问题。 我正在尝试使用Node.js(客户端),这意味着我在Express上初始化SDK,而不是在客户端上: // initializing Firebase Node.js (Client) const configFb = { apiKey: "key", authDomain: "xxx.firebaseapp.com", databaseURL: "https://xxxx.firebaseio.com", storageBucket: "xxxx.appspot.com" }; firebase.initializeApp(configFb); 而且我也在使用SDK Admin。 问题是:一旦有人login,这个用户将是唯一一个login。 如果我在这里打开应用程序,我将与他的帐户login。 如果我退出,此用户也将被注销。 我做错了什么? 谢谢!

如何删除Firebase中的数据?

我想删除一个密钥,但我还没有能力实现它。 我正在尝试: ref.child("notifications").once("value", function(usersSnap) { var i = 0 usersSnap.forEach(function(reciptsSnap) { //for every user reciptsSnap.forEach(function(reciptSnap) { reciptSnap.forEach(function(c) { if (reciptSnap.key=="jkk….."){ console.log("removed date nad its parent"+reciptSnap.key+" "+c.val()) reciptSnap.key.remove() //did not work brings remove is not a function }

如何从Firebase数据库中部分提取数据

我想从Firebase数据库中提取整个数据,并在没有更改数据的情况下访问这些数据。 firebase.database().ref('someBigNode').once('value', (snapshot) => { //do something } 但这将花费许多记忆。 请问如何将整个数据部分拉出并节省内存?

在承诺触发之前,Firebase正在等待加载数据库数据

有人可以解释如何使用Firebase的承诺与我的代码如下: var p = new Promise(function(resolve, reject) { var data=null; var ref = db.ref("/"); ref.once("value", function(snapshot) { data = snapshot.val(); }); data.onload = function() { console.log(data+" onload"); if (data!=null) { resolve('Success!'); } else { reject('Failure!'); console.log('failed'); } } }); p.then(function() { /* do something with the result */ console.log(data+" done"); }).catch(function() { /* error 🙁 […]

我应该如何在Firebase的云端函数中复制Firebase队列数据属性?

Firebase队列使用以下属性来跟踪处理: _state _state_changed _owner _progress _error_details _id 我正在将一些Firebase队列代码迁移到Firebase的Cloud Functions。 我将如何获得_owner属性的等效数据属性? 另外,考虑到这个属性主要是为了缓解并发性问题,Cloud Functions是否已经以另一种方式解决了这个问题,使我的实现不必要?