0
我有一个火力地堡结构,看起来像:火力地堡queryEquals不返回值在斯威夫特
- key1
-key2
-key3:value
-key4:value
-key5:value
-key6:value
我期待回到那里key3
的值等于一个特定字符串的记录。
let ref = FIRDatabase.database().reference()
let path = "Object/key1/key2"
ref.child(path).queryOrdered(byChild: "key3").queryEqual(toValue: "myvalue").observeSingleEvent(of: .value, with: {(snapshot) in
上述返回NULL。如果我删除queryEqual
,则返回所有记录。我已经三重检查了“myvalue”在FB和电话中匹配。
我在一个循环中调用FB为key1
和key2
变化。最后,我只希望这些记录(key2
下的所有内容)只有在key3
等于我在我的queryEqual
声明中发送的值时才会返回。
给予完整的回报见下文。我将我的实际退货流程评论为仅通过简单打印进行检查:
ref.child(path).queryOrdered(byChild: "key3").queryEqual(toValue: "mvValue").observeSingleEvent(of: .value, with: {(snapshot) in
for test in snapshot.children
{
print (test)
}
/*if let returnDict = snapshot.value as? NSDictionary
{
helperProtocol.firebaseDidReturn?(returnDict: returnDict, extraDict: extraDict, name:name)
}
else if let returnArray = snapshot.value as? NSArray
{
helperProtocol.firebaseDidReturn?(returnDict: ["array":returnArray], extraDict: extraDict, name:name)
}
else
{
helperProtocol.firebaseDidReturn?(returnDict: nil, extraDict: extraDict, name:name)
}*/
})
发布您的代码,试图从FB中获取响应。我想知道你是不是把响应代码放在正确的地方。 –
鉴于当我拿出等价支票时我得到了答复,我不认为这是问题所在。无论平等检查是否存在,回报不应该不同。但是,在更新中发布。 – C6Silver