Не удается найти пространство имен ‘FirebaseFirestore’ — Node.js, Экспресс, Машинописный текст

# #node.js #typescript #express #google-cloud-firestore #firebase-admin

Вопрос:

Я использую пакет SDK администратора Firebase на своем сервере Express Typescript. Я пытаюсь использовать метод Firestore с помощью Converter (), однако я получаю ошибку «Не удается найти пространство имен ‘FirebaseFirestore’.ts(2503)». Как я могу с этим справиться?

 admin.initializeApp({
    credential: admin.credential.cert(serviceAccount)
});

const firestore = admin.firestore();

interface BlogpostColletion {
    text: String,
    title: String,
}

interface UsersCollection {
    blogposts: BlogpostColletion
}

const converter = {
    toFirestore: (data: UsersCollection) => data,
    // PROBLEM HERE👇 "Cannot find namespace 'FirebaseFirestore'.ts(2503)" 
    fromFirestore: (snap: FirebaseFirestore.QueryDocumentSnapshot) =>
        snap.data() as UsersCollection
} 

Комментарии:

1. Вы пробовали admin.firestore.QueryDocumentSnapshot вместо FirebaseFirestore.QueryDocumentSnapshot этого ?

2. Спасибо. Изменение на «admin.firestore. QueryDocumentSnapshot» выдал проблему «не удается найти администратора пространства имен». Но изменение импорта администратора с «var admin = требуется(«firebase-admin»)» на «импорт * в качестве администратора из» firebase-admin», похоже, решило эту проблему 🙂

3. Рад это слышать! Я опубликую это в качестве ответа 🙂 Вы можете принять это, чтобы другие знали, что это решено

Ответ №1:

Вы можете импортировать QueryDocumentSnapshot из SDK администратора следующим образом:

 import * as admin from "firebase-admin"

fromFirestore: (snap: admin.firestore.QueryDocumentSnapshot)