在Cloud Firestore中获取文档的一个特定的自动生成的ID

时间:2020-07-25 20:29:07

标签: javascript firebase google-cloud-firestore

我刚开始制作一个使用Cloud Firestore作为数据库的简单网站。当用户添加新数据时,我让firestore自动生成文档ID(作为图像)。现在,我想获取该文档ID,但是对此我一无所知。这是我的代码:

  db.collection("todos").add({
    content: input.value,
    name: name.value,
    time_update: time
  })
  .then(function(docRef) {
    console.log("Document written with ID: ", docRef.id);
    return documentId = docRef.id // i try to do this but it does not return the documentID outside this promise
  })
  .catch(function(error) {
    console.error("Error adding document: ", error);
  });

image for more understandable

当我在承诺之外使用console.log(documentId)时,它返回“未定义”。请帮忙,谢谢!

1 个答案:

答案 0 :(得分:1)

您无需等待回调。您可以立即获得一个随机ID:

const docRef = db.collection("todos").doc()
const id = docRef.id

然后使用set()添加数据:

docRef.set(...)

随机ID是在客户端而非服务器上生成的。