7 методов получения данных из коллекций Firestore в JavaScript

Firestore – это база данных документов NoSQL, предоставляемая Google Cloud Platform. Это позволяет разработчикам хранить и извлекать данные гибким и масштабируемым образом. В этой статье мы рассмотрим семь различных методов получения данных из коллекций Firestore с помощью JavaScript. Каждый метод будет сопровождаться примером кода, демонстрирующим его использование.

Метод 1: получение документа по идентификатору
Пример кода:

db.collection("collectionName").doc("documentId").get().then((doc) => {
  if (doc.exists) {
    const data = doc.data();
    // Process the document data
  } else {
    // Document does not exist
  }
}).catch((error) => {
  console.log("Error getting document:", error);
});

Метод 2: получение всех документов в коллекции
Пример кода:

db.collection("collectionName").get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    const data = doc.data();
    // Process each document data
  });
}).catch((error) => {
  console.log("Error getting documents:", error);
});

Метод 3: получение документов, соответствующих запросу
Пример кода:

db.collection("collectionName").where("field", "==", "value").get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    const data = doc.data();
    // Process each matching document data
  });
}).catch((error) => {
  console.log("Error getting documents:", error);
});

Метод 4: получение документов с обновлениями в реальном времени
Пример кода:

db.collection("collectionName").onSnapshot((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    const data = doc.data();
    // Process each document data
  });
}, (error) => {
  console.log("Error getting documents:", error);
});

Метод 5: получение подколлекции внутри документа
Пример кода:

db.collection("collectionName").doc("documentId").collection("subcollectionName").get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    const data = doc.data();
    // Process each subcollection document data
  });
}).catch((error) => {
  console.log("Error getting subcollection documents:", error);
});

Метод 6: получение документа и прослушивание изменений
Пример кода:

db.collection("collectionName").doc("documentId").onSnapshot((doc) => {
  if (doc.exists) {
    const data = doc.data();
    // Process the document data
  } else {
    // Document has been deleted
  }
}, (error) => {
  console.log("Error getting document:", error);
});

Метод 7: получите ограниченное количество документов
Пример кода:

db.collection("collectionName").limit(5).get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    const data = doc.data();
    // Process each document data
  });
}).catch((error) => {
  console.log("Error getting documents:", error);
});

Извлечение данных из коллекций Firestore — фундаментальная операция при создании приложений. В этой статье мы рассмотрели семь различных методов получения данных с помощью JavaScript. Каждый метод предлагает уникальные преимущества и может использоваться в различных сценариях в зависимости от требований вашего приложения. Используя эти методы, вы можете эффективно извлекать и обрабатывать данные из коллекций Firestore в своих проектах JavaScript.