从Firebase数据库获取唯一密钥

问题描述 投票:0回答:2

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

我的db函数:

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

我的呼叫功能如下:

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

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

node.js reactjs firebase firebase-realtime-database
2个回答
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
})

0
投票

你可以将push()的调用与set(...)分开:

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

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.