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

Firebase批量写入集合文档时自动添加UserID的实现方法

给Firestore写入的文档添加UserID字段的两种方法

方法一:写入时合并字段(推荐,不修改原数组)

不用改动原FoodSample数组,在调用set方法时,把原文档的所有字段和UserID字段合并即可,用对象展开运算符就能轻松实现:

const userId = id.user.uid; // 先获取当前用户的ID
FoodSample.forEach((doc) => {
  firebaseConfig.firestore().collection("customers").doc().set({
    ...doc, // 展开原文档的Category、Name、Weight等字段
    UserID: userId // 新增UserID字段
  });
});

这种方式不会污染原数组数据,后续如果还需要使用原始的FoodSample数组,不受任何影响,是更稳妥的做法。

方法二:直接修改原数组元素

如果业务场景确实需要修改原数组,可以在遍历的时候直接给每个对象添加UserID字段:

const userId = id.user.uid;
FoodSample.forEach((doc) => {
  doc.UserID = userId; // 给原对象新增UserID字段
  firebaseConfig.firestore().collection("customers").doc().set(doc);
});

注意:这种方式会改变FoodSample数组里的原始对象,之后再使用这个数组时,所有元素都会带有UserID字段,按需选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:54:56