typescript - 在 Firestore 中使用更新时是否可以保证类型安全?
问题描述
目前在更新文档特定字段时,我们可以使用点符号语法。但不幸的是,它是一个字符串,并没有利用打字稿的力量。
await admin.firestore().doc("users/123").set({ 'address.street' : 'street name' }, {merge : true});
在这里,用户有一个定义了其属性的类,但这里无法确保 address.street 是用户类的有效键路径。
有什么方法可以强制进行类型检查,以便打字稿编译器在传递点符号时使用错误的属性键时抛出错误?
PS:这可能不是特定于firestore,而是一般用于打字稿,但firestore的用法是这种情况下的正确示例。
解决方案
这是不可能的。您可以使用其字段路径(使用点符号)来识别正确的键。编译器将无法验证该字段路径字符串的内容。该字符串只会在 Firestore 服务器端进行解释,以便将给定的数据实际放入文档中。
推荐阅读
- python - 将包含字典的字符串转换为字典列表
- android - SharedPreferences 用于显示文本,不显示
- javascript - 通过 url 请求仅获取存储在服务器中的 JSON 数据库的特定元素
- php - 如何在嵌套调用 eval() 时使用单引号?
- reactjs - 使用 require() 从相对路径加载图像时找不到模块
- google-sheets - 如何在不写任何公式的情况下设置单元格值
- powershell - 从对象格式化 CSV
- javascript - Fullcalendar 错误时刻 properties.push 不是函数
- android - Android 字体资源与字体资源 (API 26)
- ios - 如何通过应用内购买锁定 tableview 中的特定行?