能否使用FieldValue.increment递增Firestore中Map类型字段的值?
Firestore Map字段指定键值递增方法
你当前的代码错误在于直接覆盖了整个count Map字段,而非仅修改其中指定的键值。要实现Map内单个或多个键的数值递增,Firestore支持通过点符号路径定位Map内的具体键,结合FieldValue.increment()完成操作。
正确实现代码
// 定位到count下的"0"键,执行递增操作 doc.ref.update({ "count.0": FieldValue.increment(5) });
执行后,count字段会更新为你预期的结果,其他键值保持不变:
{ "0": 10, "1": 3, "2": 2, "3": 1, "4": 4 }
批量递增多个键
如果需要同时递增Map内多个键,只需在update方法中添加对应路径即可:
doc.ref.update({ "count.0": FieldValue.increment(5), "count.1": FieldValue.increment(2) });
内容的提问来源于stack exchange,提问作者cmjordan
相关产品推荐
相关产品推荐

