Получить идентификатор документа из Firestore Swift - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь получить идентификатор документа из Firestore, выполнив запрос, подобный следующему: -

func updateStatusInFirestore() {

let orderid = saleOrder.first?.Orderid ?? ""
print(orderid)
let settings = db.settings
settings.areTimestampsInSnapshotsEnabled = true
db.settings = settings
 self.db.collection("SaleOrders").whereField("orderid", isEqualTo: "\(orderid)").getDocuments { (snapshot, err) in

    if let err = err {
        print("Error getting documents: \(err)")
    } else {
        for document in snapshot!.documents {
            self.documentid = document.documentID
            print(self.documentid)
        }
    }
}

}

, в котором я получаю идентификатор заказа из моего класса модели, и он печатает значениес идентификатором заказа, но когда я пытаюсь поместить его в запрос whereField, он не выполняет запрос, и я не получаю никакого результата в своей консоли.

Если я использую таким образом, он работает

self.db.collection("SaleOrders").whereField("orderid", isEqualTo: "ji20190205091948").getDocuments

но когда я так использую

let orderid = saleOrder.first?.Orderid ?? ""
self.db.collection("SaleOrders").whereField("orderid", isEqualTo: "\(orderid)").getDocuments

Это не работает.Что не так я делаю.Пожалуйста, помогите?

1 Ответ

0 голосов
/ 12 февраля 2019

Я решил проблему.Нам просто нужно добавить одно if условие, чтобы получить идентификатор документа этой конкретной коллекции из Firestore

for document in snapshot!.documents {

  if document == document {
   print(document.documentID)
     }
       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...