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.