0
我需要條件代碼來讀取Firebase中的數據。我想像SQL中的條件「WHERE project ='test'」。我寫在Swift中。從Firebase有條件地讀取數據
我從火力地堡此代碼爲讀取數據:
var ref:FIRDatabaseReference?
var databaseHandle:FIRDatabaseHandle?
var tasks = [Task]()
var uid = (FIRAuth.auth()?.currentUser?.uid)! as String
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference().child("\(uid)/Tasks")
startObservetingDB()
}
func startObservetingDB() {
ref?.observe(.value, with: { (snapshot:FIRDataSnapshot) in
var newSweets = [Task]()
for sweet in snapshot.children {
let sweetObject = Task(snapshot: sweet as! FIRDataSnapshot)
newSweets.append(sweetObject)
}
self.tasks = newSweets
self.tableView.reloadData()
}) { (error:Error) -> Void in
print(error.localizedDescription)
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TasksCell", for: indexPath) as! TasksCell
let arrayTasks = tasks[indexPath.row]
cell.taskName.text = arrayTasks.content
return cell
}
而且我有這樣的火力地堡結構:
誰能幫助我嗎?
非常感謝你的答案,但如果我改變結構,如何我可以編輯「$ ProjectId(例如」測試「)」嗎?我知道我必須使用「updateChildValues」,但我不知道如何使用它。 – user7355869
您的項目ID應該是自動生成的無意義密鑰。你不應該編輯它。您的項目的名稱是元數據,它應該是一個屬性的值。例如。 '/ Projects/$ ProjectId:{name:「test」}'。 –