[英]Firebase push promise never resolves
我試圖從我的React Native App中保存一個對象。 請查看以下代碼段。
const { currentUser } = firebase.auth();
firebase.database().ref(`/users/${currentUser.uid}/employees`)
.push({ name, phone, shift })
.then(() => {
console.log('Save to Firebase was successful');
})
.catch((error) => {
console.log(error);
});
但在Firebase控制台中,我什么都看不到。 我很驚訝當時和捕獲甚至沒有被召喚。 我錯過了什么? 控制台不顯示任何錯誤。
我的Firebase數據庫規則:
這是我的Firebase實時數據庫視圖:
問題 - 我正在推送到/users/${currentUser.uid}/employees
路徑,我是否需要手動創建“用戶”節點?
在Firebase中,push()函數為每個新子節點生成唯一鍵,set()或update()函數在節點中插入或更新數據。
試試這個:
firebase.database().ref(`/users/${currentUser.uid}/employees`)
.push()
.set({ name, phone, shift })
.then(() => {
console.log('Save to Firebase was successful');
})
.catch((error) => {
console.log(error);
});
或這個:
let niceKey = firebase.database().ref(`/users/${currentUser.uid}/employees`).push()
niceKey.set({ name, phone, shift })
.then(() => {
console.log('Save to Firebase was successful');
})
.catch((error) => {
console.log(error);
});
不要使用push將數據保存到Firebase,而是使用set
或update
。 以下是它的工作原理: -
firebase.database().ref(`/users/${currentUser.uid}/employees`).set({
name: name,
phone: phone,
shift : shift
});
有關詳細信息,請訪問: - https://firebase.google.com/docs/database/web/read-and-write
希望它會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.