Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 减少Firestore实体写入操作_Javascript_Node.js_Firebase_Google Cloud Platform_Google Cloud Firestore - Fatal编程技术网

Javascript 减少Firestore实体写入操作

Javascript 减少Firestore实体写入操作,javascript,node.js,firebase,google-cloud-platform,google-cloud-firestore,Javascript,Node.js,Firebase,Google Cloud Platform,Google Cloud Firestore,我有一个微服务,可以将某些数据写入云。这些对象相当简单,但我最近从firebase切换到了firestore 因此,最初存储为数组的对象的任何部分 { "Name": "Bob Dylan", "Records": [ ... ], ... } …已更改为具有适当集合的Firestore文档 { "Name": "Bob Dylan", ... } -> sub collection Records: [ ... ] 曾经是一个简单、无痛的写作作

我有一个微服务,可以将某些数据写入云。这些对象相当简单,但我最近从firebase切换到了firestore

因此,最初存储为数组的对象的任何部分

{
    "Name": "Bob Dylan",
    "Records": [ ... ],
    ...
}
…已更改为具有适当集合的Firestore文档

{
    "Name": "Bob Dylan",
    ...
}
-> sub collection
Records: [ ... ]
曾经是一个简单、无痛的写作作业,现在让我超负荷工作,让我超越极限如何减少正在执行的云Firestore实体写入的数量?

作为背景,我每天写大约2000件物品。firebase中将有2000个对象,但写入操作报告为02万,因此大约增加了10倍。这个计算是基于别的什么吗

更新:

可以找到由写操作组成的文档

那么如何在一次调用中编写整个子集合呢?
我已将所有内容包装在firestore
Batch()
对象中,因此一次发送500个,但这似乎没有什么区别。

文档写入的数量应该是可以预测的。但事实上:如果选择将记录作为文档存储在子集合中,那么每个记录写入都将等同于文档写入。批量写入将有助于网络流量,但不会改变正在写入的文档数量。除了这些一般性的观察之外,很难说是什么导致了你的预期和实际之间的差异而没有看到结果。感谢你的投入,我想这意味着我基本上没有选择了。我认为从firebase迁移是违反直觉的,因为您可以编写单个对象(数组或非数组),而在firestore中,每个添加到子集合的文档只需编写一次集合。您在更新中添加的链接指的是云存储。这与云firestore不同。后者的详细定价信息可在此处找到: