首页 > 解决方案 > 在 Firestore 中使用更新时是否可以保证类型安全?

问题描述

目前在更新文档特定字段时,我们可以使用点符号语法。但不幸的是,它是一个字符串,并没有利用打字稿的力量。

await admin.firestore().doc("users/123").set({ 'address.street' : 'street name' }, {merge : true});

在这里,用户有一个定义了其属性的类,但这里无法确保 address.street 是用户类的有效键路径。

有什么方法可以强制进行类型检查,以便打字稿编译器在传递点符号时使用错误的属性键时抛出错误?

PS:这可能不是特定于firestore,而是一般用于打字稿,但firestore的用法是这种情况下的正确示例。

标签: typescriptgoogle-cloud-firestoretypescript-typings

解决方案


这是不可能的。您可以使用其字段路径(使用点符号)来识别正确的键。编译器将无法验证该字段路径字符串的内容。该字符串只会在 Firestore 服务器端进行解释,以便将给定的数据实际放入文档中。


推荐阅读