如何将数据写入字段名称包含点的地图

时间:2019-02-13 07:11:49

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

我有以下代码

admin.firestore().collection("projects")
.doc(projectId)
.update({[`members.${email}`]: "member"});

变量email的值为= "email@gmail.com"

结果为

{
  members: {
    email@gmail: {
     com: "member"
    }
  }
}

预期结果是

{
  members: {
    email@gmail.com: "member"
  }
}

我可以在android(Kotlin)中使用 FiealPath ,但如何在云函数(JavaScript)中使用它

2 个答案:

答案 0 :(得分:0)

您需要将键值视为JSON键。您不能使用JSON不支持密钥的点或特殊字符。您可以创建解析器来更改其他字符的点,以便将其存储在Firebase中,然后在应用程序中再次对其进行解析。

答案 1 :(得分:-1)

可以使用打字稿更新嵌套对象

admin.firestore().collection('projects').doc('projectid')
.update(members: {
[`${email@gmail.com}`]: "member"
})