【发布时间】:2018-10-21 14:36:24
【问题描述】:
我正在使用 Cloud Firestore 作为我的 iOS 应用程序的数据库。
当文档包含地图(对象类型)时,我想查询我的数据时遇到问题。我无法通过简单查询访问地图 (nameOnId) 的字段(例如:此处的名字)。
我的代码如下:
let db = Firestore.firestore()
db.collection("userDetails").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let results = document.data()
let result2 = results.compactMap({$0})
print("listedItems: \(document.documentID) => \(result2[0].value)") }}}
我在某处读到,为了能够访问地图对象中的值,我需要展平地图对象,但这样做并不能让我访问它们,我唯一能接触到的是地图内的一组值,因此它只显示它们的键和值,例如:
{
firstName = "John";
middleName = "British";
middleName = "Citizen";
gender = "M";
DOB = "8 December 2000 at 00:00:00 UTC+11";
}
问题是如何使用查询访问像“John”这样的单个值?My data structure on Cloud Firestore
【问题讨论】:
标签: ios swift google-cloud-firestore