我在 Firebase Web 中有这样的数据结构:
用户:
-KixIFileAu48UrbAI8k
--name: Chris
--state: 0
--contact: www.site.com/emailLink
-KvxTFdleAu4rUrbAI8z
-KetdTdWefu4rtrbER0q
我创建了一个 Node JS 机器人,用于检查每个用户的状态是否等于 0,如果是,则转到联系链接并获取其中列出的电子邮件。从那里,我希望我的机器人将状态从 0 更改为 1,以便我和机器人知道它已经被审核过。
我一辈子都不知道如何更新它。 firebase 教程似乎要求我按下新键,但我不明白。
为什么我不能做这样的事情:
firebase.database().ref('Users').child('state').update("1");
如果我尝试这样做,我会得到这个:
"Error: Firebase.update failed: First argument must be an object containing the children to replace."
这似乎是非常简单的事情,但我无法弄清楚。
之后,我可以使用相同的方法使用我获得的电子邮件地址将新的(以前不存在的)电子邮件子项推送给每个用户吗?
最佳答案
function getUser(Users){
var keys = Object.keys(Users);
var User = Users[keys[i]];
var id = keys[i];
var state = User.state;
var contact = User.contact;
if(contact != "" && contact != undefined){
console.log("Key:"+id);
firebase.database().ref("Users").child(keys[i]).child("state").set("1");
这最终解决了问题。这段代码的最后一行是我使用的,效果很好!
关于javascript - 如何在没有新 key 的情况下更新现有父级的一个 Firebase 子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43647581/