Что такое подпись / тип для FirestoreDataConverter.fromFirestore? - PullRequest
0 голосов
/ 10 апреля 2020

У меня недавно установлено приложение js с версиями:

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

Я пытаюсь использовать новую (новую, так как я последний раз использовал Firebase для проекта) withConverter() функция в документе снимок. Однако машинописный текст жалуется, что метод fromFirestore для типа FirestoreDataConverter требует один аргумент data типа FirebaseFirestore.DocumentData. В то время как документация и кодовая база предполагают, что есть два аргумента (snapshot: firebase.firestore.QueryDocumentSnapshot, options: firebase.firestore.SnapshotOptions)

Итак, мой вопрос: какой из сигнатур движется вперед? Мне нравится версия со снимком, потому что я предполагаю, что могу получить доступ к do c .id и передать его моему возвращенному объекту. Это сохранит итерацию по возвращенным данным.

Вот тип fromFirestore с точки зрения IDE:

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

1 Ответ

1 голос
/ 10 апреля 2020

Документация, которую вы просматриваете, предназначена для клиента JavaScript SDK. Однако вы используете серверный пакет JavaScript. Когда вы импортируете Firebase Admin SDK, вы фактически получаете экземпляр SDK узла Google Cloud, как описано здесь . API-интерфейсы похожи, но не совсем одинаковы, поэтому вы должны использовать документы на сервере и игнорировать документы SDK клиента.

Вы можете видеть, что Query.withConverter и DocumentReference .withConverter принимает только один аргумент.

...