简体   繁体   English

Firebase推送承诺永远不会解决

[英]Firebase push promise never resolves

I am trying to save an object from my React Native App. 我试图从我的React Native App中保存一个对象。 Please look at the below code snippet. 请查看以下代码段。

  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);
  });

But in the Firebase console, I don't see anything. 但在Firebase控制台中,我什么都看不到。 I am surprised that the then and catch don't even get called. 我很惊讶当时和捕获甚至没有被召唤。 What am I missing? 我错过了什么? The console does not show any error. 控制台不显示任何错误。

My Firebase DB Rules: 我的Firebase数据库规则:

我的Firebase数据库规则

Here's my Firebase realtime DB view: 这是我的Firebase实时数据库视图:

Firebase实时数据库视图

Question- I am pushing to /users/${currentUser.uid}/employees path, do I need to manually create 'users' node? 问题 - 我正在推送到/users/${currentUser.uid}/employees路径,我是否需要手动创建“用户”节点?

In Firebase push() function genrates a unique key for each new child, and set() or update() functions insert or update data in node. 在Firebase中,push()函数为每个新子节点生成唯一键,set()或update()函数在节点中插入或更新数据。

Try this: 试试这个:

  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);
  });

Or this: 或这个:

 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);
  });

Don't use push to save data to Firebase, instead use set or update . 不要使用push将数据保存到Firebase,而是使用setupdate Here's how it works:- 以下是它的工作原理: -

firebase.database().ref(`/users/${currentUser.uid}/employees`).set({
    name: name,
    phone: phone,
    shift : shift
});

For more info visit:- https://firebase.google.com/docs/database/web/read-and-write 有关详细信息,请访问: - https://firebase.google.com/docs/database/web/read-and-write

Hope it'll help. 希望它会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM