📜  如何获取 Firebase 文档 id 角度 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:53.371000             🧑  作者: Mango

如何获取 Firebase 文档 ID - Javascript

在使用 Firebase 数据库时,文档 ID 是很重要的一个概念。文档 ID 是每个文档在集合中的唯一标识符,类似于传统数据库中的主键。在许多情况下,您需要实时访问文档 ID,以便进行一些操作。下面是几种获取 Firebase 文档 ID 的方式。

方法一:使用快捷属性

当您获取文档时,文档对象会自动为您提供一个名为 id 的快捷属性,该属性对应文档的 ID。您可以使用以下代码获取文档 ID:

const db = firebase.firestore();
const docRef = db.collection("my_collection").doc("my_doc");
docRef.get().then((doc) => {
  if (doc.exists) {
    console.log("Document data:", doc.data());
    console.log("Document ID:", doc.id); // 这里是文档 ID
  } else {
    console.log("No such document!");
  }
}).catch((error) => {
  console.log("Error getting document:", error);
});

在上面的代码中,我们获取了 my_collection 集合中名为 my_doc 的文档,并打印出了文档的数据和 ID。

方法二:使用快照监听器

您还可以使用快照监听器来监听文档的变化,并从快照中获取文档 ID。这种方法适用于您需要实时访问文档 ID 的情况。以下是一个例子:

const db = firebase.firestore();
const docRef = db.collection("my_collection").doc("my_doc");
docRef.onSnapshot((doc) => {
  console.log("Current data: ", doc.data());
  console.log("Document ID:", doc.id); // 这里是文档 ID
});

在上面的代码中,我们使用了 onSnapshot 方法来监听 my_collection 集合中名为 my_doc 的文档的快照,并打印出了文档的数据和 ID。

方法三:使用文本查询

您还可以使用文本查询来获取文档 ID。以下是一个例子:

const db = firebase.firestore();
const docRef = db.collection("my_collection").where("field", "==", "value");
docRef.get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    console.log(doc.id); // 这里是文档 ID
  });
}).catch((error) => {
  console.log("Error getting documents: ", error);
});

在上面的代码中,我们使用了文本查询来获取 my_collection 集合中包含特定字段和值的文档,并打印出了文档的 ID。

这些是获取 Firebase 文档 ID 的几种方式。根据您的实际情况,选择最合适的方式即可。