Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Firebase中更改密钥的子级_Firebase - Fatal编程技术网

在Firebase中更改密钥的子级

在Firebase中更改密钥的子级,firebase,Firebase,我的数据库中有几个firebase密钥,如下所示 key1 { name: joe } key2 { name: anne } key3 { name: joe } 我想将包含joe的所有密钥的名称更改为will 比如说: myRef.(...).hasChild("joe").update({ name: will }); 我该怎么做 感谢Firebase的JavaScript/Web SDK,这相当简单 假设您对key1、key2和key3上方的节点具有Fi

我的数据库中有几个firebase密钥,如下所示

key1 {
  name: joe
} 
key2 { 
  name: anne 
} 
key3 { 
  name: joe
}
我想将包含joe的所有密钥的名称更改为will

比如说:

myRef.(...).hasChild("joe").update({
    name: will
});
我该怎么做


感谢Firebase的JavaScript/Web SDK,这相当简单

假设您对key1、key2和key3上方的节点具有Firebase引用

var ref=新Firebase'https://yours.firebaseio.com/parentofkeys'; 然后,您可以创建一个仅包含name属性为Joe的键的查询:

var query=ref.orderByChild'name'.equalTo'joe'; 然后使用以下内容更新所有当前和未来Joe的:

在'child_added'上,函数快照{ snapshot.ref.update{name:'will'}; }; 请彻底研究Firebase文档的相关章节:


请注意,这些都是的一部分。如果您一步一步地遵循该指南,这可能是一个好主意。

这不是最好的设计选择。如何?Firebase入门教程具有相同的设计概念。假设用户可以更改名称,而用户joe决定更改其名称,这意味着您必须遍历所有keyX节点并搜索joe。你最好通过参考来做。你能给我举个例子吗?用户将无法更改名称。您的问题是将名称从joe更改为will:我愿意:joe:{key1,key3}