问题标签 [firebase-polymer]
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.
firebase - Polymer 1.x + Firebase 2.x: How to push or put data to Firebase using Polymerfire?
Using Polymerfire, I want to add new nodes to a Firebase without overwriting data. (I call this push
or put
behavior.)
In other words. I want to start with this:
State AAnd finish with this.
State BBut when I start with State A and do this:
I wind up with this:
State BNotice the starting data: email1@example,com
and email2@example,com
were deleted.
Here is the Polymerfire documentation. But it doesn't mention anywhere how to accomplish this type of push
or put
-type method to insert data into a node.
How can I accomplish this?
Edit
The answer by @motss suggests:
instead of
But that does not work because it adds a random auto key as follows:
State BNote the added key: -hvOxpxwjpWHBYGj-Pzqw
thereby destroys the indexing feature of the data structure.
firebase - 如何使用 Polymerfire 将数据插入 Firebase(多个节点 + 多个路径)
我的用例是我有一个<iron-form>
带有单个<paper-textarea>
字段的字段,该字段接受我解析为数组的电子邮件地址字符串列表,然后我想:
- 将各个电子邮件地址存储在我的 Firebase 中(用于索引和查找目的),
- 在多个位置(每个数据扇出技术),
- 使用单个写入操作(因为如果列表那么长,我不想进行 100 次 API 调用)和
- 不覆盖任何现有数据。
具体来说,我想从状态A开始,如下:
状态 A并达到如下状态B:
状态 B注意:{old: "data"}
不会被覆盖。
背景
在那里,我们使用三个选项在新位置插入了一个节点:
- 使用
firebase-query
- JS SDK
- 使用
firebase-document
现在,我需要为多个节点(使用用户定义的而非自动生成的密钥;即,密钥是特定的电子邮件地址)执行相同类型的插入(不删除或替换旧数据)。我还需要使用数据扇出技术通过单个写入操作更新多个路径。
https://firebase.google.com/docs/database/web/read-and-write#update_specific_fields另请注意,其中一条评论提到:
上面没有理由
newPostKey
不能是电子邮件地址...
挑战在于我需要在一次调用中同时将多个密钥写入多个位置。
google-drive-api - 加载所有电子表格的 Polymer 和 Google-Sheets 组件
我正在构建一个 Polymer 应用程序,我正在尝试从谷歌驱动器帐户加载所有电子表格,但遇到了问题。我可以一次导入单个电子表格,但有没有办法一次性导入所有电子表格?文档(附件)说可以省略密钥,但我没有任何运气。请在下面找到我的代码。任何帮助将非常感激。贾斯汀
我的仪表板.html
以下适用于单个电子表格
我的-googlesheets-element.html
firebase - Polymer 1.x + Firebase 2.x:登录后首次渲染时未加载 Firebase 数据
在用户登录事件后第一次加载页面时,我想items
用存储在我的 Firebase 中的一组对象填充属性。
A实现了我想要的行为。
一个B没有。
乙使用B时,我希望看到items
对象填充,但items
对象为空。但是,如果我手动刷新浏览器(不注销),则该元素的行为符合预期。但是,如果我注销(然后在注销时刷新),问题会再次出现,直到我再次重新加载。如果我只注销然后重新登录,问题不会再次出现,我认为,部分原因是应用程序没有按照此处所述重置。
为什么A有效?但不是B吗?我必须对B进行哪些修改才能使其正常工作?(因为我想存储widgets
来自root/widgets/
路径的信息,而不必在users/...
路径下存储该详细信息。
以前不成功的尝试
我目前的(未经证实的)理论是,在B的情况下(当 URL 是常量/静态时,即widgets/
)firebase-query
涉及某种竞争条件;并且仅在某些生命周期事件之后获取数据,并且不会尝试重新获取数据。另一方面,当基于属性中的数据绑定(即)动态更新路径时,firebase-query
确实会尝试重新获取。这个理论正确吗?还是有其他原因?在某些事件之后我是否需要强制获取数据?如果是这样,我该如何完成这一切?path
path="users/[[user.uid]]/widgets"
我尝试了以下想法但没有成功。
C D此外,在 Polymer Slack 网站上,@will-in-china 说:
我第一次加载数据时遇到了问题,我发现如果我没有多个对同一路径的引用,我就不会遇到这个问题。
我不确定在这种情况下这意味着什么,因为我的元素(和应用程序)中只有一个对元素path="widgets"
内部路径的引用firebase-query
。
frontend - 弹性比在聚合物 ^1.7.0 中不起作用?
我正在使用 Flex-ratio 属性,但该属性不起作用。我正在分享我的代码。根据此链接,此属性在 Polymer 1.0 上运行良好。
firebase - 如何使用 Polymerfire 从 Firebase 获取数据
描述
我的目标是使用该polymerfire
元素向 Firebase 端点发送请求,以检测那里是否有数据,如果有,则检测其内容。
如果可能,请在您的回答中包含一个工作演示,如果您指出一些好的文档,因为当前文档不足,请加分。
预期结果
我希望演示页面看起来像:
点击我
鸟臀目
富吧巴兹
当CLICK ME按下按钮时,控制台中会出现以下内容:
“你点了我!”
“三角龙”
“{出现:-68000000,高度:3,长度:8,顺序:“鸟臀目”,消失:-66000000,重量:11000}”
实际结果
演示页面如下所示:
点击我
富吧巴兹
当CLICK ME按下按钮时,控制台中实际上会出现以下内容:
“你点了我!”
“三角龙”
“{}”
现场演示
http://jsbin.com/fasovaxonu/1/edit?html,控制台,输出firebase - 让 Polymerfire (firebase-document) 回调错误事件?
请求失败后如何firebase-document
回调错误事件?(或者至少是请求已完成的通知,以便我可以强制检查响应以查看我是否收到了预期的数据?)
例如,如果我在路径中输入了一个非法字符,例如点 ( .
),假设...
我收到以下错误消息:
未捕获的错误:Firebase.child 失败:第一个参数是无效路径:“email-address/user@example.com”。路径必须是非空字符串,并且不能包含“.”、“#”、“$”、“[”或“]”
似乎一个error
事件(或某事)应该自动触发。但是文档没有提到任何.
如何获得异常回调或至少响应已完成的通知?
javascript - Polymer firebase.. 使用密码和电子邮件进行身份验证
我有一个成功登录用户的功能。
我想要的是this._animateView();
在用户成功登录并且this._animateErrorView()
出现错误时调用一个函数。
如果我尝试这样做它返回未定义..我该如何解决这个问题
polymer - Polymer Firebase 图片上传错误
我有我的firebase应用程序配置
每次我尝试上传图片时,都会出现以下错误
"Firebase Storage: No default bucket found. Did you set the 'storageBucket' property when initializing the app?"
我不明白,因为存储桶属性在那里。