javascript - 如何防止 Cloud Firestore 拆分 map key ?

标签 javascript node.js firebase google-cloud-firestore google-cloud-functions

我正在尝试通过添加 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/

相关文章:

swift - firebase firebase 快照作为自定义模型

ios - Firestore collectionGroup 查询返回空结果

JavaScript 文件加载顺序和依赖管理

javascript - 如何从表中获取数据?

node.js - Mongoose 查询返回未定义

node.js - 如何使用express js和sequelize将csv文件导入mysql数据库

node.js - 错误: Cannot find module './models/modela'

android - 如何用 firebase 构建友谊数据?

javascript - 如何使机器人不响应自身,但仍然响应其他机器人?

javascript - 是否可以使用 Ajax 从 .HTML 文件加载?