0
我有一个酒吧台,并希望使用该栏的存储图片来自它删除单个酒吧。我使用酒吧的名字来删除酒吧。删除对象的火力
酒吧名称是独一无二的 - 我查询酒吧的名称之前添加一个新酒吧,以确保没有两个酒吧有相同的名称。
这是我的功能,我如何做到这一点。从数据库中删除栏对象时遇到问题。当然,当我这样做时,它删除了整个酒吧的表格。有没有办法让栏的autoId的键或id能够删除它。什么是正确的做法。
func deleteBar(name:String ,completion:@escaping (_ status:Bool, _ msg:String?)->())
{
let ref = FIRDatabase.database().reference(fromURL: dbURL).child("bars").child(name)
storage = FIRStorage.storage()
// print(key)
let locationRef = FIRDatabase.database().reference(fromURL: dbURL).child("bar_locations")
//delete from bars
ref.parent?.removeValue() //This deleted the whole bars table
//delete from location
locationRef.child(name).removeValue()
let storageRef = storage?.reference(forURL: storageURL).child("bars").child(name).child("logo.jpg")
storageRef?.delete(completion: { (err) in
if err == nil {
completion(true, "Deleted")
} else {
//print(err?.localizedDescription ?? <#default value#>)
completion(false, err?.localizedDescription)
}
})
}
可以存储参考或路径在火力地堡数据库的存储数据。此外,检查出[删除文件](https://firebase.google.com/docs/storage/ios/delete-files) – Jay
@Jay我的问题是不是在我的存储删除文件。问题是删除我的酒吧表中的一个对象。酒吧表包含酒吧的ID,每个ID都有酒吧名称,酒吧类别等属性......重点是我想知道酒吧名称的ID以便能够删除它。 –
问题说成*在火力删除对象*,所以它假设您想删除火力的对象。如果问题是如何从一个表中删除的对象(我假设你在代码中的表?),你应该更新你的问题。如果你问如何得到父节点名,一看便知[本问题](http://stackoverflow.com/questions/40876616/how-to-check-for-value-in-firebase-that-is-下一个 - 自动识别孩子持有?noredirect = 1个#comment68990882_40876616)。这是一个无关的问题,但答案显示了您可能想要使用的设计模式的一个示例。 – Jay