【发布时间】:2019-06-03 22:20:04
【问题描述】:
我的目标是创建一个更新某些文档计数器的幂等云函数。
我不是增加或减少计数器,而是查询文档并使用结果总数更新计数器。
const db = admin.firestore();
export const unprocessedReceiptsCount =
functions.firestore.document('Purchases/{purchaseId}')
.onWrite(async (snapshot, context) => {
const unprocessedRef = db.collection('Purchases').where('hasBeenProcessed', '==', false);
const unprocessedSnap = await unprocessedRef.get();
const count = unprocessedSnap.docs.length;
console.log(count);
return count;
});
当我更新任何文档中的 hasBeenProcessed 字段时,它应该记录一个一致的数字。但是,我得到了全面的结果:2、63、8、44。每次运行该函数时,它都会显示似乎是一个随机数。
我做错了什么?
【问题讨论】:
标签: node.js firebase google-cloud-firestore google-cloud-functions