【发布时间】:2020-04-18 02:06:43
【问题描述】:
我尝试使用 xlsx-populate 获取 excel 表,因此我尝试从 mailEvents 集合中获取值,以便我可以在 init Collection 函数中添加或传递值。如果我已经解决了这个问题,那么我的问题与excel也解决了。
在这个问题中,我想访问 init 集合中的 topHeader var。
在 arr2 中有这种形式的值 ['open','processed']
const completeReport = (startTime,endTime) => {
serverRef = db.collection("MailEvents");
let getDocs = serverRef
.where("timestamp", ">=", startTime)
.where("timestamp", "<=", endTime)
.get()
.then(querySnapshot => {
if (querySnapshot) {
let docs = querySnapshot.docs.map(doc => doc.data());
let arr1 = ["email", "reportName", "office"];
let arr2 = docs.map(a => a.event);
let topHeader = [...new Set(arr1.concat(arr2))];
}
});
let query = db.collection("inits");
let queryData = query
.where("report", "in", ["payroll", "footprints"])
.get()
.then(querySnapshot => {
if (querySnapshot) {
let docs = querySnapshot.docs.map(doc => doc.data());
console.log(topHeader)
}
});
}
所以我想要这种形式的输出
["email", "reportName", "office",'open','processed']
【问题讨论】:
-
让有一个块范围。改为定义一个全局变量
-
不是很全局,但是将
let声明移动到第二行serverRef = db.collection("MailEvents");行之前。将作业留在原处。 -
@JeremyJStarcher 你能解释一下吗
标签: javascript arrays google-cloud-firestore xlsx-populate