Node.js Firebase云函数,获取304错误

Node.js Firebase云函数,获取304错误,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,我有一个firebase云函数,它每天将每个用户UID下的一个数字重置为0。我有大约600个用户,到目前为止,它工作得非常好 但是今天,它给了我一个304错误,并且没有重置值。以下是一个屏幕截图: 下面是功能代码: export const resetDailyQuestsCount = functions.https.onRequest((req, res) => { const ref = db.ref('users'); ref.once('value').then(sn

我有一个firebase云函数,它每天将每个用户UID下的一个数字重置为
0
。我有大约600个用户,到目前为止,它工作得非常好

但是今天,它给了我一个
304
错误,并且没有重置值。以下是一个屏幕截图:

下面是功能代码:

export const resetDailyQuestsCount = functions.https.onRequest((req, res) => {
  const ref = db.ref('users');

  ref.once('value').then(snap => {
    snap.forEach(item => {
      const uid = item.child('uid').val();
      ref.child(uid).update({ dailyQuestsCount: 0 }).catch(err => {
        res.status(500).send(err);
      });
    });
  }).catch(err => {
    res.status(500).send(err);
  })

  res.status(200).send('daily quest count reset');
})
这可能是我的用户群增长过大吗?我怀疑,600不是那么大


任何帮助都将不胜感激!这确实影响了我的用户

HTTP函数只能向客户端发送一个响应。这意味着只需调用
send()
。即使有多个更新失败,您的函数也可能尝试向中的客户端发送多个响应。您的日志记录不够完整,无法演示这一点,但您所展示的内容确实存在这种可能性


还要记住,此函数非常不可伸缩,因为它在处理用户之前读取所有用户。对于大量用户来说,这会带来内存问题。您应该研究限制查询读取的节点数的方法,以防止将来出现问题。

谢谢您的回复。关于限制读取的节点数--这将如何工作?每个用户的节点都需要更新。也许只更新那些需要更新的节点?那些实际具有DailyQuestScont>0的?