javascript - 如何在没有新 key 的情况下更新现有父级的一个 Firebase 子级?

标签 javascript node.js firebase firebase-realtime-database

我在 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/

相关文章:

javascript - 在选择器项目选择上调用函数 native react

javascript - 使用凭据在 NodeJS 中写入文件

javascript - 异步调用 firebase 后,Angular 应用程序未更新(脏检查)

javascript - 在可拖动中预览上传的图像

javascript - CSS布局问题、流程图设计

javascript - 超出最大调用堆栈

node.js - 如何使用node js获取上传视频的cloudinary url???

javascript - 关于 this/@ 在 Javascript/Coffeescript 中的一个难题

android - 尝试将 downloadUri 添加到 Firestore 文档时出错。 "Could not serialize object. Exceeded maximum depth of 500"

ios - 如何获取集合下文档下的数据计数?