Как вытащить данные из массива в Firestore? - PullRequest
0 голосов
/ 11 января 2020

Данные, которые я извлекаю из Cloud Firestore, работают успешно, но я не уверен, как извлечь данные из массива в моей базе данных

Я никогда не использовал функцию карты / массива в firestore и Я изо всех сил пытался выяснить, как использовать его даже после прочтения документации

Как бы я мог реструктурировать свои данные для извлечения данных из массива?

Это первое изображение, которое я ' мы успешно извлекаем данные из: data draw

Но я пытаюсь использовать функцию карты / массива для извлечения данных из веса и цены в Firestore: array data

import Firebase
import FirebaseFirestore

struct Stuff {

    var documentID: String
    var name: String
    var brand: String
    var price: Int
    var weight: String
}

extension Stuff: DocumentSerializable {

    init(name: String,
         brand: String,
         weight: String,
         price: Int) {
             let document = Firestore.firestore().stuff.document()
             self.init(documentID: document.documentID,
                       name: name,
                       brand: brand,
                       price: price,
                       weight: weight)
   }

   private init?(documentID: String, dictionary: [String: Any]) {
       guard let name = dictionary["name"] as? String,
           let brand = dictionary["brand"] as? String,
           let weight = dictionary["weight"] as? String,
           let price = dictionary["price"] as? Int else { return nil }

           self.init(documentID: documentID,
                     name: name,
                     brand: brand,
                     price: price,
                     weight: weight)
   }

   init?(document: QueryDocumentSnapshot) {
       self.init(documentID: document.documentID, dictionary: document.data())
   }

   init?(document: DocumentSnapshot) {
       guard let data = document.data() else { return nil }
       self.init(documentID: document.documentID, dictionary: data)
   }

   var documentData: [String: Any] {
       return [
             "name": name,
             "brand": brand,
             "weight": weight,
             "price": price
              ]
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...