【问题标题】:Is there a way to listen specific fields for firestore functions?有没有办法监听 Firestore 功能的特定字段?
【发布时间】:2019-11-13 02:06:57
【问题描述】:

有没有办法监听 firestore 函数中的特定字段更改或找出更新了哪个字段?我的每个文档中都有大约 70 个字段,我希望我的 firebase 函数仅在某些字段发生更改时才执行操作(假设以名称“数字”开头的字段,例如 number01 、 number02 等等。我知道我可以写很多 if 条件来检查这个,比如

const newfieldvalue = change.after.data();
const previousfieldvalue = change.before.data();
if (newfieldvalue.number01 !== previousfieldvalue.number01){
   //do some operation here
}

但是 70 个字段中有 40 个是这样的,我不想写 40 个 if 条件来检查它。 任何帮助是极大的赞赏。

提前致谢。

【问题讨论】:

    标签: javascript google-cloud-firestore google-cloud-functions


    【解决方案1】:

    这是不可能的。如果文档中的任何字段发生更改,将触发 Firestore onUpdate 或 onWrite 函数。您必须检查之前和之后的快照,以找出究竟发生了什么变化。

    【讨论】:

    • 触发其实不是问题,所以你说除非我写了很多if条件,否则没有办法知道哪个字段被更新?
    • 可能有一种算法可用于比较对象,但 Cloud Functions 不提供。如果您对有关如何比较或“区分”两个不一定与文档或函数有任何关系的对象的更通用的解决方案感兴趣,那听起来像是另一回事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多