自从最近几个小时以来,我一直对此感到困惑,并且我已经尝试了所有可能在firebase中更新这些值的方法。
我要更新
is_read_p:“ 0”
到
is_read_p:“ 1”
用于数据库中的每个记录。
到目前为止,我已经尝试了这段代码,
[[[[_mainRef child:@"messages"] child:[NSString stringWithFormat:@"359_361"]]childByAutoId] updateChildValues:@{@"is_read_c":@"0"}];
但是,它没有更新,而是添加了另外三个孩子,如下所示:
我知道一定有一个愚蠢的错误,否则我可能会遗漏一些东西。请帮助我找到缺少的部分。谢谢。 :)
答案 0 :(得分:0)
每次调用childByAutoId
时,客户端都会创建对新的唯一子节点的引用。由于您随后在该新位置调用updateChildValues
,因此您将创建一个新的子节点,而不是更新现有的子节点。
Firebase不支持更新查询。您需要执行查询,处理每个匹配的节点,然后分别进行更新。
另请参阅: