【问题标题】:Firebase Functions Error, "db.batch() is not a function"Firebase 函数错误,“db.batch() 不是函数”
【发布时间】:2021-01-20 02:04:06
【问题描述】:

我在使用 Firebase 函数时遇到问题,当我部署此函数并尝试更改用户图像时,我在 firebase 函数日志中收到错误消息,显示“错误,db.batch 不是函数”。

exports.onUserImageChange  = functions
    .firestore.document('/users/{userId}')
    .onUpdate((change) => {
      console.log(change.before.data());
      console.log(change.after.data());
      if (change.before.data().imageUrl !== change.after.data().imageUrl) {
        console.log('image has changed');
        var batch = db.batch();
        return db
          .collection('screams')
          .where('userHandle', '==', change.before.data().handle)
          .get()
          .then((data) => {
            data.forEach((doc) => {
              const scream = db.doc(`/screams/${doc.id}`);
              batch.update(scream, { userImage: change.after.data().imageUrl });
            });
            return batch.commit();
          });
      } else return true;
});

这是我的数据库导出:

const admin = require('firebase-admin')

admin.initializeApp();

const db = admin.firestore();

module.exports = { admin, db};

【问题讨论】:

  • 你是如何导入db的?
  • 谢谢你让我检查这个,我意识到我导入不正确
  • 如果您找到答案,您可以发布并接受它以供社区参考

标签: node.js firebase google-cloud-firestore google-cloud-functions


【解决方案1】:

我猜问题是您没有正确导入 db 或者您可能忘记在调用之前分配 db 变量。

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 2018-09-09
    • 2019-11-01
    • 1970-01-01
    • 2018-06-22
    • 2020-02-04
    • 1970-01-01
    • 2022-01-14
    相关资源
    最近更新 更多