我正在尝试使用Cloud Functions触发器更新Firestore数据库中的地图值

时间:2019-09-10 23:06:12

标签: javascript google-cloud-firestore google-cloud-functions

我正在尝试使用文档上的set函数更新地图值,但无法弄清楚如何更新特定的地图值。

在我的firestore数据库中,有一个名为“ stats”的字段,它是一个映射,在stats中有一个key:value(likes_count:total),我想更新文档中likes_count的总值,看起来像这样的东西:

统计信息:{    赞数:8 }

我想使用云函数触发器更新地图中的值。

使用常规字段,我可以轻松设置值,但不确定如何更新地图中的特定值,但这是我的函数代码:

=IIF(Lookup("Red", Fields!Color.Value, Fields!Color.Value, "detailsDS") = "Red", True, False)

1 个答案:

答案 0 :(得分:0)

什么是错误日志?
这是一种理论,但是使用.set()试图创建一个新文档(了解merge:true的工作原理),但是如果没有字段{已经{1}}。
您可以尝试将stats.likesCount更改为stats的操作,即可。

但是也不建议以这种方式增加值。你最好用

.set()

由于触发了多个功能,因此它很容易失败,无法在likesCount字段中写入不一致的数据,但是.update()可以作为事务处理,因此在这种情况下可以安全使用。