![](/img/trans.png)
[英]Firebase - accessing child node when you don't know the value of the parent key - generated by childByAutoId()
[英]How to update a node in Firebase if I don't know its key?
在我的Firebase数据库中,我有一个带有自动生成键的节点列表。
"visitors" : {
"-KTmRYgWJkT2nq4i1S1D" : {
"firstname" : "Jsdfa",
"lastname" : "Jsdfa",
"visitorId" : "123"
},
"-KTnUbLCtvdeA6G4p5Xh" : {
"firstname" : "Jsdfadf",
"lastname" : "Jfasdgf",
"visitorId" : "124"
},
"-KToFT1rWLuw6ZbS_xGU" : {
"firstname" : "Jdfadfa",
"lastname" : "Jsdfad",
"visitorId" : "125"
}
}
首先,我找到了一个需要更新的节点,为此,我使用了以下代码:
[[_ref child:@"visitors"] queryOrderedByChild:@"visitorId"] queryEqualToValue:@(visitorId)]
然后,我需要对其进行更新或将其删除。 Firebase文档说,要做到这一点,我需要有一个节点密钥。
这就是问题所在。 我试图找到一种方法来获取此密钥,但是没有成功,我找不到任何有关它的信息。 谁能帮我解决这个问题? 任何帮助将不胜感激。
您拥有的“ visitorId”是必需的节点密钥。
要删除此节点,请使用:
[[[_ref child:@"visitors"] child:@(visitorId)] removeValue];
要更新此节点,请使用:
[[[_ref child:@"visitors"] child:@(visitorId)] updateChildValues:(dictionary)];
在这里,dictionary是非null的NSDictionary类型,您可以将值作为键值对传递给此对象以进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.