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

Flutter中Firebase如何使用带点号的字段名(如'0.1')

Flutter Firestore 带点号字段名更新解决方案

Firestore 默认会把字段键里的点号(.)解析成嵌套对象的层级分隔符,所以你直接用'0.1'当键时,才会生成0: {1: value}的嵌套结构。

要正确更新名为'0.1'的字段,得用FieldPath显式指定字段名,绕开Firestore的点号解析逻辑。修改后的代码如下:

await FirebaseFirestore.instance
    .collection('products')
    .doc('a')
    .update({
      FieldPath(['0.1']): FieldValue.arrayUnion(value)
    });

FieldPath接收一个字符串数组,数组里的单个元素就是你要操作的完整字段名,这样Firestore就会把'0.1'当作独立字段名,而非嵌套结构的路径。

之前试的flat包没用,是因为Firestore的点号解析逻辑在SDK层面处理,第三方包没法覆盖这个机制,官方的FieldPath才是最可靠的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:12:04