javascript - 如何进行firebase多路径推送?
问题描述
我看过多路径更新示例。但在更新任何数据之前,我必须首先推送它,我想知道是否有所谓的多路径推送?
我想同时在不同的节点集下推送数据。例如:Firebase 方案
-Examinations
- pushIdLk12203425
- pushIdML0124245
-RightChoices
- pushIdLk12203425
- pushIdML0124245
-Questions
- pushIdLk12203425
- pushIdML0124245
当我在检查节点下推送值时,必须将根据我的后端架构的相同值或不同值推送到 RightChoices 和 Questions 节点下。现在我正在使用 .then 回调方法执行此操作。
我在 Exams 下推送数据,然后在其 .then 回调中推送 RightChoice 和 Questions 节点。
但我担心的是,如果用户关闭应用程序并且数据只是到达考试节点而从未到达 RightChoices 和 Questions 节点怎么办。
我正在尝试找出一种更好的数据一致性方法。
谢谢。
注意:RightChoices 和 Questions 保存在不同的节点下,以获得更好的安全架构,我无法更改架构。如果有人可以帮助我,将不胜感激。谢谢。
解决方案
我想你正在寻找.update()
看看这里: https ://firebase.google.com/docs/database/web/read-and-write#update_specific_fields :
function writeMultipath(pushID1, pushID2) {
var data = {
id1: pushID1,
id2: pushID2
};
// Write the new data simultaneously to your DB-locations
var updates = {};
updates['/Examinations/'] = data;
updates['/RightChoices/'] = data;
updates['/Questions/'] = data;
return firebase.database().ref().update(updates);
}
推荐阅读
- excel - UNIQUE 论坛的“无法更改数组的一部分”错误
- android - dagger2 不提供基础活动注入
- c++ - pow(x,3.0f) 与 x*x*x 的性能?
- java - java.lang.String 无法在 java 中转换为 JSONObject
- amazon-web-services - 使用带有主题 ARN 和电子邮件地址的 AWS Lambda fn 取消订阅 Amazon SNS 主题
- unity3d - AR相机与平面上目标物体的角度信息(度)
- swiftui - 如何在 SwiftUI 中使两个 Text() 视图具有相同的动态字体大小,从而最大化字体大小?
- spring - Spring AspectJ 加载时间编织不适用于 5.3.3 和 Tomcat 9.0.37
- react-native - 如何禁用嵌套在抽屉导航器内的堆栈导航器内的抽屉?
- javascript - 通过 html 在 MySQL 数据库中添加时间