如何解决Cloud Firestore:如何从所有随机生成的文档中获取特定值
有没有办法让我掌握Firestore中创建的所有文档的特定值?
这是我的Firestore的结构:
我想掌握“纬度”和“经度”数据,以便在mapView
上添加注释。因此,对于每个“帖子”,都会有一个注释。
Firebase文档中提供的代码(我也在下面分享)似乎对我不起作用,因为我只能获取一个特定路径内的所有元素的数据。>
let docRef = db.collection("cities").document("SF")
docRef.getDocument { (document,error) in
if let document = document,document.exists {
let dataDescription = document.data().map(String.init(describing:)) ?? "nil"
print("Document data: \(dataDescription)")
} else {
print("Document does not exist")
}
}
问题是,即使我输入了该特定路径,那么如何获得其他路径的“纬度”和“经度”值?还有其他我想念的东西吗?
我希望这是有道理的。我是编程新手,并尽力解释。我已经为此苦苦挣扎了两天。
解决方法
看起来您需要从文档中检索thoso值,请尝试如下操作:
let docRef = db.collection("cities").document("SF")
docRef.getDocument { (document,error) in
if let document = document,document.exists {
let data = document.data()
let latitude = data["latitude"] as? String,let longitude = data["longitude"] as? String{
print("latitude = \(latitude)")
print("longitude = \(longitude)")
} else {
print("Document does not exist")
}
您还可以为更清洁的实现创建特定的Struct:
let coordenates = coordenate(latitude: latitude,longitude: longitude)
print("coordenates: \(coordenates)")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。