teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記

2020/03/30 11:54

投稿

dialbird
dialbird

スコア379

title CHANGED
File without changes
body CHANGED
@@ -21,4 +21,26 @@
21
21
  大量のデータ更新はできないものなのでしょうか?
22
22
 
23
23
  その場合、どのようにしたらうまく行くのでしょうか?
24
- よろしくお願いいたします
24
+ よろしくお願いいたします
25
+
26
+ 追記:
27
+
28
+ 以下のように書き換えてみたところ、原因はタイムアウトエラーによるものであることが判明しました
29
+
30
+ ```js
31
+ firestore.collection("users").get().then(snap => {
32
+ let promises = [];
33
+ snap.forEach(doc => {
34
+ const user = doc.data();
35
+ promises.push(firestore.collection("rooms").doc(user.roomId).update({timezone: user.timezone}));
36
+ })
37
+ return Promise.all(promises)
38
+ }).catch(err => {
39
+ console.log(`err: ${err}`);
40
+ // err: Error: Retry total timeout exceeded before any response was received
41
+ })
42
+ ```
43
+
44
+ おそらくは実行元がクラウドファンクションであることも一因であるかもとは思うのですが、タイムアウトエラーを起こさずに、700件近くのドキュメントを同時に更新するにはどのような手法があるのでしょうか?
45
+
46
+ そういったクエリを管理者的に、権限を無視してFirestoreに送りつけられる方法がありましたら教えて欲しいです!