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

如何在Dart中从列表元素提取单个字段值写入Firestore

问题原因

你代码中final mileager = data.elementAt(0)获取到的是排序后第一个点位的完整Map对象,同时包含mileage和geodistance两个键值对,直接将该Map作为Mileage字段的值写入Firestore时,自然会生成嵌套的Map结构。

解决方法

只需要从取出的Map对象中单独提取mileage对应的值即可,修改对应的代码行:

// 原代码
// final mileager = data.elementAt(0);
// 修改后
final mileager = data.elementAt(0)["mileage"];

如果要增强代码健壮性,避免空值异常,可以补充空值默认值:

final mileager = data.elementAt(0)["mileage"] ?? 0;

修改后Mileage字段就会直接写入int类型的里程数值,不会再出现嵌套的Map结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 13:45:03