问题标签 [firebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
637 浏览

firebase - 当 Firebase 节点同步时,是完整的新值发送到服务器还是只是差异?

当通过回调更新对象时,它的工作方式是否相同ref.on('value', ...

我试图在 Chrome 开发工具中自己弄清楚,但没能做到。

这对我来说很重要,因为我正在开发一个用户可能存储大量文本的应用程序。如果只通过网络发送差异,它会更轻量级,并且我可以更频繁地同步。如果发送了完整的值,我不想这样做。

0 投票
3 回答
25567 浏览

firebase - 使用安全规则限制子/字段访问

我正在编写一个应用程序,允许用户提交提名,这些提名在显示给其他用户之前会经过审核。这需要一些限制,到目前为止,我在使用安全规则方面未能成功实施:

  1. 隐藏任何尚未获得批准的提名
  2. 隐藏提交时的私有字段(电话、批准状态、创建日期等)

我目前的规则如下:

子规则(例如$nomination)不会阻止从父级读取整个子级。child_added如果我在https://my.firebaseio.com/nominations上收听,即使有上述安全规则,它也会愉快地返回所有孩子及其所有数据。

我目前的解决方法是保留一个单独的节点approved,并在有人批准或拒绝提名时简单地在列表之间移动数据,但这似乎是一种非常糟糕的方法。

更新

根据Michael Lehenbauer的出色评论,我以最小的努力重新实现了最初的想法。

新的数据结构如下:

每个提名都entries与私人数据(例如电话号码、电子邮件等)一起存储在 下,private而公开数据则存储在 下public

更新后的规则如下:

和 JavaScript 实现:

我正在努力实现的唯一部分是处理状态更改,我目前的方法肯定可以改进:

我打算使用child_changedonnominations/status但我无法让它可靠地工作。

0 投票
1 回答
1189 浏览

firebase - authClient.login 问题

我遇到了与此问题中讨论的类似问题: authClient.login 返回错误与“未经授权的请求来源”

我在 firebase 网站上找不到任何直接解决此问题的内容,因此我对“未经授权的请求来源”有 2 个问题:

1.) 如果我通过自己的计算机测试我的程序(例如,它只是我计算机上的一个文件),我到底应该添加什么到 Auth 面板?我尝试遵循上面链接中提供的建议,但没有运气。

2.) 我的最终计划是使用 firebase 及其登录系统创建一个应用程序。当用户尝试登录时,这会成为问题吗?是否需要允许任何用户登录系统?

0 投票
1 回答
6558 浏览

firebase - Firebase 应用的并发用户究竟是如何确定的?

Firebase 应用的并发用户究竟是如何确定的?

在分析面板中,峰值并发用户的数量似乎比我使用我的应用程序打开浏览器窗口的数量要多。

我有点担心将来会在 1000 个并发限制下使用 FB,但也许我高估了我的应用程序的受欢迎程度以及达到该限制的可能性。:)

0 投票
1 回答
2918 浏览

firebase - 尝试使用 Firebase 创建实时饼图时使用哪个库?

是否可以使用 Firebase 创建更新饼图?有点像http://bl.ocks.org/d/1346410/?我可以使用什么库?

0 投票
1 回答
190 浏览

firebase - authClient 不工作

我无法让 FireFeed 或我自己的应用程序与 auth 一起使用,我遵循了此文档。我复制了规则并添加了密钥,给出了什么?示例: http: //flx.me/firefeed/

0 投票
1 回答
492 浏览

firebase - 从 firebase facebook 登录接收错误:“属性电子邮件中未定义”

我正在通过 facebook 身份验证使用 firebase 进行身份验证,并且它不断返回:

大约一周前,这工作得很好。奇怪的是,如果我尝试连续第二次进行身份验证,那么我的个人帐户就会起作用。但是,我通过开发人员仪表板在 facebook 上创建了一些测试帐户,这些帐户在使用 facebook auth 屏幕登录后总是返回此错误。

任何帮助都非常感谢,因为 firebase.js 文件中的代码似乎失败了,所以我无法调试它。

0 投票
3 回答
1775 浏览

firebase - 对按时间顺序排列的 Firebase 子级分页

tl;dr在 Firebase 中通过 执行基本分页,startAt非常复杂endAtlimit必须有更简单的方法。

我正在为大量用户提交构建一个管理界面。我最初(和当前)的想法是简单地获取所有内容并在客户端上执行分页。然而,在获取 2000 多条记录(每条记录包含 5-6 个小数字/字符串字段)时存在明显的延迟,我将其归因于超过 1.5mb 的数据有效负载。

目前所有条目都是通过添加的,push但我对如何通过巨大的列表进行分页有点迷茫。

要获取我正在使用的第一页数据endAt,其中 alimit为 5:

结果如下:

首先要弄清楚有多少页,我会保留一个单独的计数器,每当有人添加或删除记录时该计数器就会更新。

其次,由于我正在使用push我无法导航到特定页面,因为我不知道特定页面的最后一条记录的名称,这意味着目前无法使用这样的界面:

标准分页控件

为了简单起见,我决定简单地使用下一个/上一个按钮,但这也带来了一个新问题;如果我使用上一个结果集中第一条记录的名称,我可以使用以下命令分页到下一页:

该操作的结果如下:

现在我有了下一页,只是它移动了一个位置,这意味着我必须调整我的限制并忽略最后一条记录。

要后退一页,我必须在客户端上保留到目前为止我收到的每条记录的单独列表,并找出要传递给的名称startAt

有没有更简单的方法可以做到这一点,还是我应该回去取所有东西?

0 投票
1 回答
7599 浏览

firebase - 向一组用户授予对 Firebase 位置的访问权限

我在文档中找不到它,但是有没有办法定义一组用户并使用该组来授予对不同位置的访问权限,而不是授予对单个用户的访问权限?

问候, LT

0 投票
1 回答
366 浏览

cordova - 移动设备上的 authClient

我对 Firebase 的身份验证客户端有疑问。我已将 Firebase 的登录系统设置为在 Chrome 中完美运行,但是当我开始为移动设备使用模拟器时,它开始引起问题。我知道我需要设置身份验证客户端的“应用程序域”部分,以便它知道允许哪些域,但是我应该为移动应用程序添加什么?

我所有的数据存储都直接来自 Firebase 本身,所以我不知道我需要添加哪个域。