更新阵列Firebase中的每个用户状态

时间:2018-12-05 09:40:24

标签: javascript firebase

我得到了不包含特定单词的用户ID。我需要更新用户状态。

var primeusers = [];
var komence= firebase.database().ref();

function thisclick() {
    komence.child('Buyers').on("value", function(snapshot) {
    snapshot.forEach(function(data) {
       if(!data.val().Nealdi.includes("GPA")) {
         primeusers.push(data.key);
       }
    });
    console.log(primeusers);
  });
}

我可以获取用户ID。但是我无法更新其状态。

//Update statatus to user under on "Users". 
var vipata = firebase.database().ref();

vipata.child("Users").child(`primeusers`).once('value', function (snapshot) {
    snapshot.forEach(function(child) {
      child.ref.update({Minivip: "NO"});
      child.ref.update({VIP: "NO"});
    });
});

数据库结构。

|-Buyers
|--Userid
|---Nealdi

|-Users
|--Userid
|---Minivip
|---VIP

1 个答案:

答案 0 :(得分:0)

我假设您在所示的结构模式中忘记了子级“ primeusers”。尝试:

var vipata = firebase.database().ref("Users");

vipata.child(`primeusers`).once('value', function (snapshot) {
    snapshot.val().forEach(function(child) {
      child.ref.update({Minivip: "NO"});
      child.ref.update({VIP: "NO"});
    });
});

请注意,您正在为每个孩子进行更新。您可以通过在客户端更新对象来升级该对象,然后一次更新整个对象(这对您更有利)。 (如果需要,我可以为您提供示例)。