Просто добавьте цифры в FireBase, используя Forl oop в nodejs - PullRequest
0 голосов
/ 13 апреля 2020

Я добавляю уникальное имя, просто добавляя значения в таблицу, но foreach не позволяет мне это делать. Ниже приведен мой код.

db.ref('user_membership_details/').once("value", (snapshot) => {
        snapshot.forEach((child) => {
            var user_id = child.key;
            if (child.uniqueUsername === "") {
                db.ref("uniqueName/Name").once("value", async (snapshots) => {
                    var value = snapshots.val();
                    console.log("value:", value);
                    var unique = value.name;

                    db.ref("uniqueName/Name").update({
                        "name": unique + 1
                    })

                    const unique_name = "user" + unique;

                    var Obj = {
                        "name": unique_name,
                        "userID": user_id,
                        "Status": "Temp"
                    }

                    console.log(Obj);

                    await db.ref("TakenSubdomains/").push().set(Obj);

                    await db.ref("user_membership_details/" + user_id).update({
                        uniqueUsername: unique_name,
                        Status: "Temp"
                    })
                })
            } else {
                db.ref("user_membership_details/" + user_id).update({
                    Status: "Taken"
                });
                db.ref("/TakenSubdomains/").orderByChild('userID').equalTo(user_id).once("value", function (snapDoms) {
                    snapDoms.forEach(takeDom => {
                        db.ref("/TakenSubdomains/" + takeDom.key + "/").update({
                            Status: "Taken"
                        });
                    });
                })
            }
        })

    })

Из этого кода я получаю уникальное имя для всех одинаковых снимков. Я не могу добавить счет в таблицу и получить его. Я знаю, что это вызывает много операций чтения и записи.

Вывод:

{
  name: 'user190020852',
  userID: 'yQMQK8hltkbNopTNtwNWpIkumQ02',
  Status: 'Temp'
}
{
  name: 'user190020852',
  userID: 'yTv8yvGdKqRlbB83O80MxsOaKjZ2',
  Status: 'Temp'
}
{
  name: 'user190020852',
  userID: 'zWluN5RBYzLIbwMVS8kfjWlsec53',
  Status: 'Temp'
}
{
  name: 'user190020852',
  userID: 'zYR2KVNDj4WBFW2T2ywwVG8AAVT2',
  Status: 'Temp'
}

Но мне нужен вывод как на console.log (Obj);

{
  name: 'user190020852',
  userID: 'yQMQK8hltkbNopTNtwNWpIkumQ02',
  Status: 'Temp'
}
{
  name: 'user190020853',
  userID: 'yTv8yvGdKqRlbB83O80MxsOaKjZ2',
  Status: 'Temp'
}
{
  name: 'user190020854',
  userID: 'zWluN5RBYzLIbwMVS8kfjWlsec53',
  Status: 'Temp'
}
{
  name: 'user190020855',
  userID: 'zYR2KVNDj4WBFW2T2ywwVG8AAVT2',
  Status: 'Temp'
}

Справка я и спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...