所以基本上我试图使这个循环中的字段名称为 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/