Swift 我想按日期在firebase中保存数据,这意味着用户保存的所有数据都是在该日期保存的
我试图在firebase中保存数据,但我希望按日期保存,以便按日期获取数据Swift 我想按日期在firebase中保存数据,这意味着用户保存的所有数据都是在该日期保存的,swift,xcode,firebase,firebase-realtime-database,Swift,Xcode,Firebase,Firebase Realtime Database,我试图在firebase中保存数据,但我希望按日期保存,以便按日期获取数据 func saveData(){ ref = Database.database().reference() let userid = Auth.auth().currentUser?.uid let timestamp = NSDate().timeIntervalSince1970 self.date = timestamp let fuelDetails:[String:A
func saveData(){
ref = Database.database().reference()
let userid = Auth.auth().currentUser?.uid
let timestamp = NSDate().timeIntervalSince1970
self.date = timestamp
let fuelDetails:[String:Any] = ["tank_for_refueling" : self.tankForRefuelingTextField.text ?? "",
"fuel_quantity_refueled" : self.fuelQuantityRefueledTextField.text ?? "",
"tank_after_refueling" : self.tankAfterRefuelingTextField.text ?? "",
"date": self.date ?? 0]
ref.child(Constants.NODE_MAINTENANCE).child("date").child(userid!).child(Constants.NODE_FUEL).childByAutoId().setValue(fuelDetails){(error,databaseRef) in
if let error = error{
print(error.localizedDescription)
}
}
}
您可以使用以下内容:
func saveData(){
// ... other code
let getDate = Date()
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
self.date = formatter.string(from: getDate)
let fuelDetails:[String:Any] = ["tank_for_refueling" : self.tankForRefuelingTextField.text ?? "",
"fuel_quantity_refueled" : self.fuelQuantityRefueledTextField.text ?? "",
"tank_after_refueling" : self.tankAfterRefuelingTextField.text ?? "",
"date": self.date ?? 0]
ref.child(Constants.NODE_MAINTENANCE).child("\(self.date)").child(userid!).child(Constants.NODE_FUEL).childByAutoId().setValue(fuelDetails){(error,databaseRef) in
if let error = error{
print(error.localizedDescription)
}
}
}
编辑
如果Firestore试图解析子项,则更新了从点到破折号的语法。self.date=formatter.string(from:getDate)此行出现一个错误,称为(无法将“string”类型的值分配给“Double?”类型。由于未捕获的异常“InvalidPathValidation”,原因:”(子项:)必须是非空字符串且不包含“.”#“$”[”或“]”我的错,这是Swift 3语法。你可以得到最新的信息使用日期在感谢它会帮助我很多