【发布时间】:2019-09-18 08:01:59
【问题描述】:
因此,每当创建新销售时,我都会尝试更新项目余额,因此我正在监听该销售创建并获取所有项目以检查新销售和项目之间的匹配 ID 并更新其余额
功能已部署,但物品余额没有任何变化
export const itemsBalance = functions.firestore
.document("sales/{id}")
.onCreate((snap, context) => {
//get sale data and items data
const data = snap.data();
//get all items
let myItems;
firebase.firestore().collection('items').get()
.then(snapshot => {
myItems = snapshot.docs.map(doc => doc.data());
data.items.forEach((element, index) => {
let updatedItem = myItems.find(el => el.id == element.id);
if(updatedItem) {
updatedItem.balance = updatedItem.balance - element.qty;
}
firebase.firestore().collection(`items/${element.id}`)
.doc().update(updatedItem)
.then(res => console.log(res))
.catch(err => console.log(err));
})
})
.catch(err => {
console.log(err)
})
return data;
});
package.json
"dependencies": {
"firebase-admin": "^7.3.0",
"firebase-functions": "^2.3.0"
}
【问题讨论】:
标签: node.js firebase google-cloud-firestore google-cloud-functions