首页 > 解决方案 > FirestoreDataConverter.fromFirestore 的签名/类型是什么?

问题描述

我有一个新安装的带有版本的 js 应用程序:

"firebase": "^7.14.0",
"firebase-admin": "^8.10.0",

withConverter()我正在尝试在文档快照上使用新的(自从我上次为项目使用 firebase 以来的新功能) 。但是,打字稿抱怨typefromFirestore上的方法FirestoreDataConverter需要一个datatype参数FirebaseFirestore.DocumentData。而文档代码库建议有两个论点(snapshot: firebase.firestore.QueryDocumentSnapshot, options: firebase.firestore.SnapshotOptions)

所以我的问题是,哪一个是前进的签名?我喜欢带有快照的版本,因为我假设我可以访问 doc.id 并将其传递给我返回的对象。这将节省对返回数据的迭代。

这是从 IDE 角度看的 fromFirestore 类型:

FirebaseFirestore.FirestoreDataConverter<T>.fromFirestore(data: FirebaseFirestore.DocumentData): T

标签: javascriptfirebasegoogle-cloud-firestorefirebase-admin

解决方案


您正在查看的文档适用于客户端 JavaScript SDK。但是,您使用的是 JavaScript 服务器 SDK。当您导入 Firebase Admin SDK 时,您实际上会得到一个 Google Cloud 节点 SDK 的实例,如此处所述。API 相似,但不完全相同,因此您应该使用服务器文档,而忽略客户端 SDK 文档。

您可以看到Query.withConverterDocumentReference.withConverter只接受一个参数。


推荐阅读