【发布时间】:2017-02-24 09:23:30
【问题描述】:
这可能是一个简单的答案,所以提前道歉,但我被困住了,因为我仍然对 Firebase 的工作方式感到困惑。我想根据保存在那里的 unix 日期数据查询 Firebase 数据库,然后获取相关的“唯一 ID”数据并将其放入数组中。
Firebase 中的数据如下所示:
posts
node_0
Unix Date: Int
Unique ID Event Number: Int
node_1
Unix Date: Int
Unique ID Event Number: Int
node_2
Unix Date: Int
Unique ID Event Number: Int
到目前为止,我所拥有的如下。查询部分似乎按预期工作。我苦苦挣扎的地方是如何将“唯一 ID 事件编号”数据放入数组中。这是似乎最接近成功的方法,它基于此post,但我收到一个错误,即孩子没有“价值”成员。
// Log user in
if let user = FIRAuth.auth()?.currentUser {
// values for vars sevenDaysAgo and oneDayAgo set here
...
let uid = user.uid
//Query Database to get the places searched by the user between one and seven days ago.
let historyRef = self.ref.child("historyForFeedbackLoop/\(uid)")
historyRef.queryOrdered(byChild: "Unix Date").queryStarting(atValue: sevenDaysAgo).queryEnding(atValue: oneDayAgo).observeSingleEvent(of: .value, with: { snapshot in
if (snapshot.value is NSNull) {
print("error")
} else {
for child in snapshot.children {
if let uniqueID = child.value["Unique ID Event Number"] as? Int {
arrayOfUserSearchHistoryIDs.append(uniqueID)
}
}
}
})
} else {
print("auth error")
}
非常感谢任何想法!
【问题讨论】:
标签: ios arrays swift dictionary firebase