我正在尝试通过执行如下查询来从Firestore
获取文档ID:-
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)
}
}
}
}
我从模型类中获取订单ID,并在其中打印订单ID的值,但是当我尝试将其放入whereField
查询中时,它没有执行查询,也没有得到我的控制台中的任何结果。
如果我这样使用的话
self.db.collection("SaleOrders").whereField("orderid", isEqualTo: "ji20190205091948").getDocuments
但是当我这样使用
let orderid = saleOrder.first?.Orderid ?? ""
self.db.collection("SaleOrders").whereField("orderid", isEqualTo: "\(orderid)").getDocuments
它不起作用。我在做什么错。请帮忙吗?
答案 0 :(得分:1)
我解决了这个问题。我们只需要添加一个if
条件即可从Firestore
for document in snapshot!.documents {
if document == document {
print(document.documentID)
}
}