繁体   English   中英

如果不知道其密钥,如何在Firebase中更新节点?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM