var ref=db.ref("users");
var upref = ref.child("-KXpWvL3cgzHvFYgArTW");
upref.update({
"name": "Ayaz"
});
我正在使用这个我正在创建对密钥的引用,但这不是正确的方法,在我的数据库中我有用户然后我有密钥,我有名字。 在这里,我将直接创建一个引用并更新它。我的数据库的结构是:
用户
.... - >键
............. - >名称:“”
那么如何更新特定名称呢?
答案 0 :(得分:3)
您需要知道要更新的用户的属性。例如,如果您知道要更新的用户的名称,则可以通过执行以下操作来更新用户:
var query = ref.child("users").orderByChild("name").equalTo("Ayz");
query.once("value", function(snapshot) {
snapshot.forEach(function(userSnapshot) {
userSnapshot.ref().update({ name: "Ayaz" });
});
});
需要循环(snapshot.forEach
),因为查询可以匹配多个子节点,因此结果将是匹配用户的列表。
请注意,将用户存储在uid
下是自定义的,而不是像您所做的那样在推送ID下存储。通过将它们存储在uid
下,您通常可以避免上述查询的需要。