我看过多路径更新示例。但是在更新任何数据之前,我必须首先将其推送到我想知道是否存在所谓的多路径推送?
我想同时在不同的节点集下推送数据。 例如:Firebase方案
-Examinations
- pushIdLk12203425
- pushIdML0124245
-RightChoices
- pushIdLk12203425
- pushIdML0124245
-Questions
- pushIdLk12203425
- pushIdML0124245
当我将值推送到检查节点下时,必须将与我的后端体系结构相同或不同的值推送到RightChoices和Questions节点下。现在,我正在使用.then回调方法进行此操作。
我在“考试”下推送数据,然后在其.then回调中推送“ RightChoice and Questions”节点。
但是,我担心的是,如果用户关闭应用程序并且数据仅到达“考试”节点而从未到达“ RightChoices和问题”节点,该怎么办?
我正在尝试找到一种更好的数据一致性方法。
谢谢。
注意:RightChoices和Questions保留在不同的节点下,以具有更好的安全性体系结构,并且我无法更改架构。 如果有人可以帮助我,将不胜感激。谢谢。
答案 0 :(得分:0)
我认为您正在寻找.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);
}