如何在对象类型文档字段的属性上使用 FieldValue.increment()

atu*_*put 2 javascript firebase google-cloud-firestore

FirestoreFieldValue.increment(someValue)可以与其他字段一起正常工作,但不能与地图一起使用。

我正在尝试增加地图中属性的值。我有一个名为 user 的文档。它有一张地图points:{id:123, total:100}。我想更新totalin map的值points

firestore.collection('users').doc('user').update({
    "name": "atul",
    "points": { "total": firestore.FieldValue.increment(50) }
})
Run Code Online (Sandbox Code Playgroud)

total它的值不是将值增加到 150,而是变为 100。

Dou*_*son 7

您需要调出要递增的字段的完整路径,而不是将其埋在对象中。字段的完整路径涉及.用作每个字段名称之间的分隔符:

firestore.doc(...).update({
    "points.total": firestore.FieldValue.increment(50)
})
Run Code Online (Sandbox Code Playgroud)

  • 这也适用于iOS吗?我试过了,但它没有增加地图值,而是创建了一个带点的字段。 (2认同)