我正在尝试通过添加 map 来从 Cloud Function 更新 Firestore 中的文档,如下所示:
const data = {
[email]: {
somedata: somedata,
somedata: somedata
}
};
docRef.update(data)
问题在于 Firestore 正在拆分电子邮件并创建嵌套映射。例如,如果电子邮件为 name@email.com,则 Firestore 中存储的值为:
name@email
com
somedata: somedata
somedata: somedata
我希望该电子邮件不要被拆分。 Firestore 可以做到这一点吗?
最佳答案
电子邮件地址中包含句点 (.
) 字符。当像示例中那样作为原始字符串给出时,该字符被视为字段分隔符。 Firestore 正在做的事情是假设您想要将名为“name@email”的字段以及名为“com”的属性设置为您指定的对象的值。请参阅 documentation 中的“字段路径的约束” .
我不相信有办法解决这个问题。在访问数据库之前,您可能需要将该点转换为其他字符(可能是电子邮件地址中不会出现的字符)。使用此字段的所有查询都必须进行类似的翻译。
关于javascript - 如何防止 Cloud Firestore 拆分 map key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54248325/