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

Firebase创建用户后添加信息报错[cloud_firestore/not-found]

问题分析与解决方案

你遇到的[cloud_firestore/not-found]错误,核心原因是调用了update()方法修改一个不存在的Firestore文档。

Firestore的update()方法仅适用于更新已存在的文档,而新注册用户对应的Users集合下的文档还未创建,因此会触发“文档未找到”的异常。

修正代码

将saveNameUserInFireBase函数中的update替换为set方法即可解决问题:

Future<void> saveNameUserInFireBase(String? userID) async {
  if (userID != null) {
    await FirebaseFirestore.instance
        .collection('Users')
        .doc(userID)
        .set({
          'firstName': controllerFirstName!.text,
          'lastName': controllerLastName!.text,
          'email': controllerEmail!.text,
        });
  }
}

额外注意事项

  • 务必给Firestore操作加上await,确保数据写入完成后再继续后续流程,避免异步操作未完成的潜在问题。
  • 若后续需要对已存在的用户文档做部分字段更新,再使用update()方法;首次创建文档必须用set()。
  • 如果想保留文档中已有的字段,仅更新指定字段,可以使用带合并选项的set:
.set({/* 需更新的字段 */}, SetOptions(merge: true))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:41:11