Firebase函数和多路径更新

Firebase函数和多路径更新,firebase,firebase-realtime-database,google-cloud-functions,Firebase,Firebase Realtime Database,Google Cloud Functions,在这件事上搜索了很多,似乎找不到相关信息。如何处理实时数据库的多路径更新,以避免超出RateLimited(函数触发器上每100秒的触发器数、onWrite、onUpdate、onCreate、onDeleted) 我们的触发器设置如下: exports.markersUpdate = functions.database.ref('/v1/markers/{pushId}').onWrite((change, context) => { const record = change

在这件事上搜索了很多,似乎找不到相关信息。如何处理实时数据库的多路径更新,以避免超出RateLimited(函数触发器上每100秒的触发器数、onWrite、onUpdate、onCreate、onDeleted)

我们的触发器设置如下:

exports.markersUpdate = functions.database.ref('/v1/markers/{pushId}').onWrite((change, context) => {
    const record = change.after.val();
    const fbKey = context.params.pushId;
    ...
});
我想也许我可以像这样在父节点上触发,但这将返回所有集合,而不仅仅是更新:

exports.markersUpdate = functions.database.ref('/v1/markers').onWrite((change, context) => {
    ...
});
此函数基本上将更新复制到数据存储,以便更好地进行数据分析。这一直运行良好,但我们的应用程序有时需要同时更新数百条记录,即使是在Blaze plan上,我们也会遇到错误


是否有一种方法可以获取更新项目列表,以便我可以在函数中处理它?

云函数无法执行您尝试执行的操作。云函数将单个写操作作为单独的函数调用处理。不存在批处理,也不存在稍后写入批处理的队列


如果您想一次性复制数据,最好编写一个独立的程序来查询要复制的数据,并创建自己的批处理更新。

是的,我一直在用这种方法解决这个问题。希望听到一种新的技术来避免这种情况。谢谢