从Firebase数据库获取唯一密钥

时间:2018-03-01 19:45:47

标签: node.js reactjs firebase firebase-realtime-database

我使用db文件写入RealTime数据库。该字段生成唯一的ID密钥,我需要将该密钥传递回父文件。

我的数据库功能:

    export const doCreateCompany = name =>
  db
    .ref(`company`)
    .push()
    .set({ name });

我的通话功能如下:

db.doCreateCompany(companyName).then((e) => {
          console.log("Key", e);

我需要在使用唯一键后立即编写另一个函数。任何帮助都很棒。感谢

2 个答案:

答案 0 :(得分:0)

您可以将来自push()的电话set(...)分开:

export const doCreateCompany = name =>
  var ref = db.ref(`company`).push();
  var key = ref.key;
  ref.set({ name });

现在您可以将key返回给调用该函数的人。

答案 1 :(得分:0)

如果您希望函数仍然返回在set()完成时解析的promise,并且 也可以访问推送ID,请尝试以下操作:

export const doCreateCompany = name => {
    const ref = db.ref('company').push()
    return ref.set({ name }).then(() => {
        return Promise.resolve(ref.key)
    })
}

然后你可以这样称呼它:

doCreateCompany(name).then(key => {
    // key is the push id here
})