Полное руководство по работе с подколекциями Firestore в Swift

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

  1. Создание подколлекции.
    Чтобы создать подколлекцию в Firestore, вам необходимо сослаться на родительский документ и использовать метод collection. Вот пример:
let parentDocumentRef = Firestore.firestore().collection("parentCollection").document("parentDocument")
let subcollectionRef = parentDocumentRef.collection("subcollection")
  1. Добавление документов в подколлекцию:
    Добавление документов в подколекцию аналогично добавлению документов в обычную коллекцию. Вам нужно сослаться на подколлекцию и использовать метод 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.")
    }
}
  1. Запрос подколлекций.
    Чтобы запросить документы внутри подколлекции, вы можете использовать метод 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())")
        }
    }
}
  1. Обновление документов в подколлекции.
    Чтобы обновить документы в подколлекции, вам необходимо сослаться на конкретный документ и использовать метод 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.")
    }
}
  1. Удаление документов из подколлекции.
    Чтобы удалить документы из подколлекции, вам необходимо сослаться на конкретный документ и использовать метод 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 и манипулировать ими.