我有一个帖子节点,它包含我的FB数据库中的各个帖子。这些帖子每个都有一个users_liked
的数组,其中有一个随机生成的密钥,值为当前用户uid
。我的问题是,我希望能够检查数值(uid)是否已经存在于这个数组中,如果有的话,做一些事情;否则做别的事Swift 3 + Firebase:检查数组内的值是否存在?
1
A
回答
0
我为你写了一段代码,然后我意识到你想要Swift,并且使用Java:S无论如何,概念大纲应该足够了。将Firebase数据库引用创建为“users_liked”节点,并将单个事件值侦听器设置为此引用。接下来,将datasnapshot传递给一个“foreach”循环快速等价物,为datasnapshot(datasnapshot.getChildren())的每个子节点创建一个新的datasnapshot,即“dsChild”。最后通过执行dsChild.getValue检查每个项目并利用equalTo()检查值是否存在。希望这会有所帮助,对不起,我无法用Swift写出来!
1
只需请求该路径的快照并使用.exists()。
var postid = "-KGNY..."
var uid = FIRAuth.auth()?.currentUser?.uid
var ref = FIRDatabase.database().reference()
ref.child("posts").child(postid).child("users_liked").child(uid!)
.observeSingleEvent(of: .value, with: { (snapshot) in
// Get user value
if snapshot.exists() == true {
print("exists")
}
else {
print("does not exist")
}
}) { (error) in
print(error.localizedDescription)
}
(请原谅我的残暴斯威夫特语法,这不是我说还没有一种语言)
相关问题
- 1. Swift Firebase检查值是否存在
- 2. 检查字典数组中是否存在值swift 3
- 3. Swift + Firebase - 检查具有autoId的节点的值是否存在
- 4. Firebase Android - 检查值是否已存在
- 5. 检查数组中是否存在值
- 6. 如何检查数据库是否为空swift 3 - Firebase
- 7. 检查数组值是否存在
- 8. 检查数组中是否存在值
- 9. 如何检查数组内的值是否存在codeigniter
- 10. Javascript检查值是否在数组内的数组内
- 11. 检查数组内的值是否已经存在
- 12. 检索数据Firebase Swift 3
- 13. 检查用户名是否已存在:Swift,Firebase
- 14. Swift,Firebase。检查名称是否已经存在不起作用
- 15. 检查用户是否存在Firebase 3.0 + swift
- 16. Swift&Firebase |使用用户名检查用户是否存在
- 17. Firebase检查空值(Swift)
- 18. 如何检查Firebase数据库值是否存在?
- 19. Firebase实时数据库:如何检查子值是否存在
- 20. 如何检查Firebase数据类中是否已存在值Anroid
- 21. Android Firebase数据库,检查值是否存在
- 22. 检查数组的键是否存在另一个数组值
- 23. 检查是否在数组存在键
- 24. 检查Firebase中是否存在ID [Java]
- 25. firebase检查是否存在小孩
- 26. Swift - 检查数组是否存在于字典中
- 27. 检查double值是否为整数Swift
- 28. 检查数组中是否存在
- 29. 检查数组对象是否存在
- 30. 检查值是否存在
火力地堡没有检查一个特定的值存在的能力。如果你需要这个,通常意味着你应该反转'users_liked'并使用UID作为键。请参阅https://youtu.be/66lDSYtyils?t=6m17s和http://stackoverflow.com/questions/39149216/firebase-security-rules-to-check-unique-value-of-a-child-askfirebase –