Firebase管理員不會寫入數據庫。Firebase管理員不會寫入數據庫,也不會發生錯誤
我實例數據庫:
var db = admin.database();
然後參考設置表我想:
var systemsRef = db.ref("systems/");
然後我有一個函數來檢查的「系統」,(一加密的硬件ID)存在。
function isSystemRegistered(id){
var isTrue;
systemsRef.once('value', function(snapshot) {
isTrue = (snapshot.hasChild(id))? true : false;
});
return isTrue;
}
其中,至今還返回false
;這是true
,因爲它還不存在。如果系統不存在,它將寫入數據。
const sysID = getSysID();
var sys.info.name = generateUniqueSystemName();
if(isSystemRegistered(sysID){
console.log("system is already registered!");
} else {
msystemsRef.set({
sysID : sys.info.name
}, function(error){
console.log('There was an error while attempting to write to database: ' + error);
});
});
}
我已經試驗,並暫時讓我的原型數據庫幾分鐘完全公開,公正,以確保我的rules
沒有問題......他們不起來:仍然沒有布埃諾。沒有寫入數據庫...和沒有錯誤。
我嘗試了不同的set
,只是可以肯定的:
msystemsRef.set("I'm writing data", function(error) {
if (error) {
alert("Data could not be saved." + error);
} else {
alert("Data saved successfully.");
}
});
同樣,我使用的是管理員帳戶,與public
規則,所以我應該看到現在I'm writing data
表,僅低於根。沒什麼......
所以我切換戰術,試圖推到數據庫與罐裝教程,用我的數據庫仍然完全公開:
systemsRef.push({sysID : sys.info.name});
並沒有什麼...想我缺少什麼?
你解決了嗎?我有同樣的問題... –
@FamicTech不,我還沒有解決它。這仍然是一個問題 - 我在一次會議上向Google提交了一個bug。但我們會看到 - 很難超越噪音。 – NonCreature0714