检查 Firebase 中是不是存在密钥
Posted
技术标签:
【中文标题】检查 Firebase 中是不是存在密钥【英文标题】:Check if Key exists in Firebase检查 Firebase 中是否存在密钥 【发布时间】:2018-02-09 14:44:10 【问题描述】:我一直在寻找答案,但找不到。
我正在使用 Swift 3。 我有一条路径,比方说 firebase/products,我想看看特定产品是否有一个键“MainImage”。所以很自然我会做类似的事情
Database.Child("Products").Child("ProductID").HasChild("MainImage")
但是我找不到像“HasChild”、“Exists”或任何类似的方法。有没有人可以解决这个问题?
【问题讨论】:
【参考方案1】:没有方法可以检查,你要听那个孩子,如果它有一个 nil 值,那么它不存在。
var ref = FIRDatabase.database().reference()
let ProductID = 64646477343
let requestListenRefo = ref.child("Products/\(ProductID)/MainImage")
requestListenRefo.observe(FIRDataEventType.value, with: (snapshot) in
let value = snapshot.value as? String
if(value == nil)
// doesn't exist
)
【讨论】:
requests/Value 是我的特定产品的路径吗?这段代码很难看懂 我可以用“String”代替“NSString”吗? 我现在正在尝试,有一些调试要做。我会尽快在这里写结果【参考方案2】:有一种方法可以使用snapshot.exists()
检查快照是否存在
斯威夫特
dbRef = FIRDatabase.database().reference()
dbRef.child("Users/user1").observeSingleEvent(of: .value, with: (snapshot) in
if snapshot.exists()
print("user1 exists")
else
print("user1 exists doesn't exists")
)
【讨论】:
以上是关于检查 Firebase 中是不是存在密钥的主要内容,如果未能解决你的问题,请参考以下文章
Flutter & Firebase:如何检查某个项目是不是存在于 Firebase 文档中的数组中