我正在尝试通过添加映射从云函数更新 Firestore 中的文档,如下所示:
const data = {
[email]: {
somedata: somedata,
somedata: somedata
}
};
docRef.update(data)
问题是Firestore正在拆分电子邮件并创建嵌套地图。例如,如果电子邮件 name@email.com,则存储在 Firestore 中的值为:
name@email
com
somedata: somedata
somedata: somedata
我希望不要拆分该电子邮件。火堆可以吗?
电子邮件地址中有一个句点 ( .
) 字符。 当作为原始字符串给出时,该字符被视为字段分隔符,如示例中所示。 Firestore 所做的是假设您要将一个名为"name@email"的字段与一个名为"com"的属性设置为您指定的对象的值。 请参阅文档中的"字段路径约束"。
我不相信有办法解决这个问题。 在访问数据库之前,您可能希望将该点转换为其他字符(可能是电子邮件地址中不会出现的字符)。 使用此字段的所有查询都必须进行类似的翻译。