【发布时间】:2020-03-23 16:34:21
【问题描述】:
我有一个 firebase 可调用函数,可以对集合中的文档进行一些批处理。
步骤是
- 将文档复制到单独的集合中并存档
- 根据文档中的数据向第三方服务运行 http 请求
- 如果2成功,删除文档
我无法强制代码同步运行。我无法弄清楚正确的等待语法。
async function archiveOrders (myCollection: string) {
//get documents in array for iterating
const currentOrders = [];
console.log('getting current orders');
await db.collection(myCollection).get().then(querySnapshot => {
querySnapshot.forEach(doc => {
currentOrders.push(doc.data());
});
});
console.log(currentOrders);
//copy Orders
currentOrders.forEach (async (doc) => {
if (something about doc data is true ) {
let id = "";
id = doc.id.toString();
await db.collection(myCollection).doc(id).set(doc);
console.log('this was copied: ' + id, doc);
}
});
}
【问题讨论】:
标签: node.js typescript firebase google-cloud-firestore