Попытка передать переменную в fieldname при сохранении поля в firestore - PullRequest
0 голосов
/ 07 апреля 2020

Так что в основном я пытаюсь сделать имя поля в этом l oop be EmailBody1, EmailBody2, et c.



 var all = _.find(item.parts, { which: "TEXT" });
            var html = all.body;
            console.log(html);
            let z = 0;
            for (z = 0; z < 40; z++) {

              // eslint-disable-next-line promise/no-nesting
              db.collection("Users")
                .doc("6IzsLbD4r4R5RXdGB5BQy6xq8Dc2")
                .set({
                  EmailBody: html,
                })
                .then(() => {
                  console.log("Doc successful");
                  return null;
                })

                .catch((error) => {
                  console.error("Error writing doc", error);
                });
            }
          });

          return null;
        });
    });
  });
}


, но я пробовал несколько разных способов, таких как преобразование самого имени поля в переменную или создание EmailBody [z] или EmailBody {z}, но все, что я пробовал, похоже, не работает, и я не могу найти много информации онлайн о том, как это сделать. Любая помощь будет высоко ценится <3 </p>

1 Ответ

2 голосов
/ 07 апреля 2020

Два способа:

for (z = 0; z < 40; z++) {
  var obj = {}'
  obj["EmailBody"+z] = html;

  db.collection("Users")
    .doc("6IzsLbD4r4R5RXdGB5BQy6xq8Dc2")
    .set(obj)
    .then(() => {
      console.log("Doc successful");
      return null;
    })

    .catch((error) => {
      console.error("Error writing doc", error);
    });
}

Или (я думаю):

for (z = 0; z < 40; z++) {

  // eslint-disable-next-line promise/no-nesting
  db.collection("Users")
    .doc("6IzsLbD4r4R5RXdGB5BQy6xq8Dc2")
    .set({
      ["EmailBody"+z]: html,
    })
    .then(() => {
      console.log("Doc successful");
      return null;
    })

    .catch((error) => {
      console.error("Error writing doc", error);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...