我在Firebase网站上有这样的数据结构:
用户:
-KixIFileAu48UrbAI8k
--name: Chris
--state: 0
--contact: www.site.com/emailLink
-KvxTFdleAu4rUrbAI8z
-KetdTdWefu4rtrbER0q
我创建了一个Node JS bot,用于检查每个用户的状态是否等于0,如果是,则转到联系人链接并抓取其中列出的电子邮件。从那里,我希望我的机器人将状态从0更改为1,以便我和我机器人知道它已经被审查过了。
我不能为我的生活弄清楚如何更新这个。似乎firebase教程要求我推出一个我不理解的新密钥。
为什么我不能这样做:
firebase.database().ref('Users').child('state').update("1");
如果我试试,我明白了:
"错误:Firebase.update失败:第一个参数必须是包含要替换的子项的对象。"
这似乎是超级直接的事情,但我无法弄清楚。
之后,我可以使用相同的方法将新的(以前不存在的)电子邮件子项推送给每个用户,并使用我收到的电子邮件地址吗?
答案 0 :(得分:0)
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");
这最终解决了问题。这段代码的最后一行是我使用过的,效果很好!