javascript - 将字段存储到 firestore 时尝试在字段名称中传递变量

标签 javascript firebase google-cloud-firestore

所以基本上我试图使这个循环中的字段名称为 EmailBody1、EmailBody2 等。



 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

最佳答案

两种方式:

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);
    });
}

关于javascript - 将字段存储到 firestore 时尝试在字段名称中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61070350/

相关文章:

angular - 订阅 ref.on (‘value’ 时出现 Firebase 错误,回调); |类型 'subscribe' 上不存在属性 '(a: DataSnapshot, b?: string) => any'

javascript - 我如何获得负时间戳以保存在 firebase - Javascript

python - 在 Google Dataflow 中使用 FireStore

firebase - flutter 异步验证表单

javascript - 获取卡详细信息后, Stripe 未提交

javascript - 更简单的写法 : if (routine ! == null &&routine.exercises !== undefined &&routine.exercises.length > 0)

javascript - 如何获取折线图的日期标签?

javascript - 以 Angular 将 HTML 页面导出为 pdf

android - 何时记录 Firebase 中的 first_open 事件?

firebase - Dart Firebase Firestore Atomic注册