You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Firebase数据库中正确更新已创建的数组?

解决Firebase数组更新问题

问题原因

你用filteredArr.push()作为字段值是错误的——push()方法的返回值是数组更新后的长度,不是更新后的数组本身,所以数据库里才会存成4。

正确写法

要把整个filteredArr替换到ArrOfParasites字段,直接赋值即可:

update(ref(db, 'users/' + user.localId), {       
  ArrOfParasites: filteredArr
})

补充说明

如果你的需求是往现有数组里追加元素(而非替换整个数组),可以用Firebase提供的数组更新方法arrayUnion:

import { update, arrayUnion } from "firebase/database";

// 追加单个元素
update(ref(db, 'users/' + user.localId), {       
  ArrOfParasites: arrayUnion(["新元素", 1])
})

// 追加多个元素(展开目标数组)
update(ref(db, 'users/' + user.localId), {       
  ArrOfParasites: arrayUnion(...filteredArr)
})

内容的提问来源于stack exchange,提问作者Proger228

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:15:29