javascript - FirestoreDataConverter.fromFirestore 的签名/类型是什么?
问题描述
我有一个新安装的带有版本的 js 应用程序:
"firebase": "^7.14.0",
"firebase-admin": "^8.10.0",
withConverter()
我正在尝试在文档快照上使用新的(自从我上次为项目使用 firebase 以来的新功能) 。但是,打字稿抱怨typefromFirestore
上的方法FirestoreDataConverter
需要一个data
type参数FirebaseFirestore.DocumentData
。而文档和代码库建议有两个论点(snapshot: firebase.firestore.QueryDocumentSnapshot, options: firebase.firestore.SnapshotOptions)
所以我的问题是,哪一个是前进的签名?我喜欢带有快照的版本,因为我假设我可以访问 doc.id 并将其传递给我返回的对象。这将节省对返回数据的迭代。
这是从 IDE 角度看的 fromFirestore 类型:
FirebaseFirestore.FirestoreDataConverter<T>.fromFirestore(data: FirebaseFirestore.DocumentData): T
解决方案
您正在查看的文档适用于客户端 JavaScript SDK。但是,您使用的是 JavaScript 服务器 SDK。当您导入 Firebase Admin SDK 时,您实际上会得到一个 Google Cloud 节点 SDK 的实例,如此处所述。API 相似,但不完全相同,因此您应该使用服务器文档,而忽略客户端 SDK 文档。
您可以看到Query.withConverter和DocumentReference.withConverter只接受一个参数。
推荐阅读
- python - TypeError:'int'和'dict'的实例之间不支持'<='
- powershell - 不使用 EXCEL 编辑 CSV
- ios - 将照片库中的图像导入xcode中的应用程序
- jquery - 从 MVC 中剃刀视图上的 Ajax 成功功能跳转/重新加载到同一页面
- windows - RegisterPointerInputTarget 不消耗所有输入
- c# - 带有文本框的 WPF Excel 类似箭头键功能
- json - 如何从杰克逊 ObjectMapper 中获取 JSON
- java - 如何使用 Selenium 将文件上传到 Div 标签。哪个标签没有输入作为类型
- live-streaming - 使用 HLS 处理实时流式传输中的变体
- python - AmbiguousForeignKeysError 即使在指定 foreign_keys 之后