Firestore – это облачная база данных NoSQL, предоставляемая Firebase, которая предлагает масштабируемое и гибкое решение для управления данными в ваших приложениях iOS. Firestore организует данные в коллекции, и внутри каждой коллекции вы можете дополнительно структурировать свои данные с помощью подколлекций. В этой статье мы рассмотрим различные методы работы с подколекциями Firestore с помощью Swift.
- Создание подколлекции.
Чтобы создать подколлекцию в Firestore, вам необходимо сослаться на родительский документ и использовать методcollection. Вот пример:
let parentDocumentRef = Firestore.firestore().collection("parentCollection").document("parentDocument")
let subcollectionRef = parentDocumentRef.collection("subcollection")
- Добавление документов в подколлекцию:
Добавление документов в подколекцию аналогично добавлению документов в обычную коллекцию. Вам нужно сослаться на подколлекцию и использовать методaddDocument. Вот пример:
let data: [String: Any] = [
"title": "Example Document",
"content": "This is an example document."
]
subcollectionRef.addDocument(data: data) { error in
if let error = error {
print("Error adding document: \(error)")
} else {
print("Document added successfully.")
}
}
- Запрос подколлекций.
Чтобы запросить документы внутри подколлекции, вы можете использовать методwhereField, чтобы указать любые желаемые условия. Вот пример:
subcollectionRef.whereField("title", isEqualTo: "Example Document").getDocuments { snapshot, error in
if let error = error {
print("Error querying documents: \(error)")
} else {
guard let documents = snapshot?.documents else {
print("No documents found.")
return
}
for document in documents {
print("Document data: \(document.data())")
}
}
}
- Обновление документов в подколлекции.
Чтобы обновить документы в подколлекции, вам необходимо сослаться на конкретный документ и использовать методupdateData. Вот пример:
let documentRef = subcollectionRef.document("documentId")
let updatedData: [String: Any] = [
"content": "This is an updated document."
]
documentRef.updateData(updatedData) { error in
if let error = error {
print("Error updating document: \(error)")
} else {
print("Document updated successfully.")
}
}
- Удаление документов из подколлекции.
Чтобы удалить документы из подколлекции, вам необходимо сослаться на конкретный документ и использовать методdelete. Вот пример:
let documentRef = subcollectionRef.document("documentId")
documentRef.delete { error in
if let error = error {
print("Error deleting document: \(error)")
} else {
print("Document deleted successfully.")
}
}
В этой статье мы рассмотрели несколько методов работы с подколекциями Firestore в Swift. Мы рассмотрели создание подколлекций, добавление и запрос документов внутри подколлекций, обновление документов и удаление документов. Используя эти методы, вы сможете эффективно управлять иерархией данных в Firestore и создавать мощные приложения для iOS.
Не забудьте импортировать необходимые платформы Firebase и Firestore, прежде чем использовать эти методы в своем проекте Swift.
Реализуя эти методы, вы сможете использовать весь потенциал подколлекций Firestore в своем приложении для iOS, что позволит вам эффективно организовывать данные в базе данных Firestore и манипулировать ими.