首页 > 解决方案 > Firebase Cloud Function 批量更新需要时间来更新 Firestore 中的文档

问题描述

我编写了一个在创建文档时触发的 Firebase 云函数。之后,我正在使用批量更新来更新文档。我在“测试”集合中只有 5 个文档,更新这些文档需要 7-10 秒。我的目标是最多 2 秒。这是正常的还是可以进一步优化?

代码:


import * as functions from "firebase-functions";
import * as admin from 'firebase-admin';
admin.initializeApp();
const db = admin.firestore();


exports.onCreateOrder = functions.firestore.document('PPB/{id}/Orders/{order_id}').onCreate((snapshot, context) => {
  var userRef = db.collection('test');
  if (userRef != null) {
    let batch = db.batch();
    return userRef.get()
      .then(snapshot => {
        snapshot.forEach(doc => {
          batch.update(doc.ref, "name", "Paul");
        });
        return batch.commit();
      });
  } else {
    return null;
  }
}

);

标签: node.jsfirebasegoogle-cloud-firestoregoogle-cloud-functions

解决方案


代码看起来不错。我看不出有什么可以做得更好的。你是如何测量函数需要执行的时间的?

确保不要测量该功能何时具有“冷启动”。您解释的时间是函数“冷启动”所需的时间。


推荐阅读