【发布时间】:2018-08-17 11:43:32
【问题描述】:
我正在尝试在 Firebase 中仅使用值来检索密钥。
我在 Swift 中为 IOS 工作
尝试编写一个想要返回“hey”的函数,当仅给定用户电子邮件地址“hey@hey.com”时
基本上有手头的价值,并想检索密钥,我试图删除该条目。
有人有什么建议吗?
这是我不确定的一点。
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if (editingStyle == UITableViewCellEditingStyle.delete) {
let friendsSelectedEmail = friendsEmailsFromFirebase[indexPath.row]
let refToUserFriendList = fir.child("mybuddies").child(userID)
print(friendsSelectedEmail)
//query for the key of the email address, then use that to delete the object
//Or is there an easier firebase method?
self.tableView.reloadData()
}
}
**编辑
简而言之,我只想删除这个键值对,并且我只能访问值(电子邮件地址),这可以通过单个 firebase 方法实现吗? **假设我不使用@jay 发布的更好的结构。
【问题讨论】:
-
你能显示minimal code that reproduces where you are stuck吗?这将真正帮助我们具体了解问题所在。
-
当然!也谢谢!
-
你认为的其实并不是关键。键是
zCUnxxxxxxxxxxxxxxxxTx2,其余部分是值。所以你的方法是错误的。 -
使用当前的数据库结构,您必须使用单个观察者一次获取所有电子邮件节点,并且需要在本地根据电子邮件过滤密钥。
-
fir.child("mybuddies").child(userID)是否指向屏幕截图中的zCUnK...节点?
标签: ios swift firebase firebase-realtime-database