# #javascript #firebase #google-cloud-firestore #next.js #firebase-admin
Вопрос:
Я пытаюсь инициализировать SDK администратора в приложении NextJS. Я инициализировал приложение следующим образом:
import { getFirestore } from '@firebase/firestore'; import admin from 'firebase-admin'; if (!admin.apps.length) { admin.initializeApp({ credential: admin.credential.cert({ project_id: process.env.NEXT_PUBLIC_PROJECT_ID, private_key: process.env.FIREBASE_PRIVATE_KEY, client_email: process.env.FIREBASE_CLIENT_EMAIL }) }); } export default getFirestore();
а затем попробуйте использовать базу данных в следующем фрагменте кода:
import { getDocs, collection } from '@firebase/firestore'; import db from '@/lib/firebase-admin'; export default async (_, res) =gt; { let sites = []; const querySnapshot = await getDocs(collection(db, 'sites')); querySnapshot.forEach((doc) =gt; { sites.push(doc.id, ...doc); }); res.status(200).json(sites); };
Но мне представляется следующая ошибка: Следующая ошибка JS Firebase
FirebaseError: Ожидается, что первым аргументом collection() будет ссылка на коллекцию, ссылка на документ или хранилище FirebaseFirestore
Я использую компоненты Web V9 (модуль) Firebase, и мне еще предстоит выяснить, почему я получаю эту ошибку. Любая помощь будет очень признательна!
Комментарии:
1.
import db from '@/lib/firebase-admin';
— бд-это не то, что ты думаешь. Попробуйтеconst db = getFirestore()
добавить getFirestore в свой импорт.