如何在不引起写入Firestore的情况下更新文档?

时间:2020-04-26 11:16:40

标签: javascript google-cloud-firestore

我正在构建一个计费Web应用程序,用户可以在其中经常更新商品的库存。所以要花我很多钱。有没有一种方法可以只更新库存而不会导致写文档?

1 个答案:

答案 0 :(得分:1)

简短回答:否

长答案:很可能不是

每个更新的文档将被视为在Firestore上记帐的文档。即使您尝试将多个更新捆绑到一个批处理调用中。

一个建议是限制客户端的更新,以减慢快速更新的速度。但是,这将影响最终用户在使用该应用程序时获得的数据的准确性。节流示例:Small article on throtting/debouncing

另一个建议是避免进行无意义的更新。

您可以在尝试进行更新之前检查值是否不会更改或值的更改不重要:

function updateValue(newValue) {
    // Check if value has changed
    if (newValue === value) {
        // pass
        return;
    }

    // make an update request
    // ...
}

任何其他建议的解决方案都将要求您的最终用户共享同一网络或在Firestore之外引入其他服务。

最后要考虑的是,也许现在考虑开帐单还为时过早。 Firestore的价格便宜。这是Firebase提供的有关计费的精彩视频:

Firebase video on Getting to know pricing

如果这些建议都没有帮助,我建议添加一些代码示例等以获得更好的建议:)