ドキュメントやネット記事を読んで、Firebaseを操作するコードが違うと疑問を持ったあなたに送ります。
そもそも
Firebaseへの操作の仕方は複数あります。
Firebase SDK
エンドユーザーがFirebase を操作するために使用するライブラリ
Firebase Admin SDK
管理者権限でFirebase を操作するために使用するライブラリ
Firestoreへのアクセスの違い
使用するSDKによって初期化とFirestoreのアクセスの仕方も異なります。
Firebase SDK( Web バージョン 9 )
import { initializeApp } from 'firebase/app'
import { getFirestore, collection, query, getDocs} from 'firebase/firestore'
const firebaseConfig = {
//...
}
const app = initializeApp(firebaseConfig)
const db = getFirestore(app)
const getUsers = async() => {
const q = query(collection(db, 'users'))
const usersSnapshot = await getDocs(q)
usersSnapshot.forEach((doc) => {
console.log(doc.id, ' => ', doc.data())
})
}
getUsers()
Firebase Admin SDK(v10)
import { initializeApp, cert } from 'firebase-admin/app'
import { getFirestore } from 'firebase-admin/firestore'
const serviceAccountKey = require('../serviceAccountKey.json')
const app = initializeApp({
credential: cert(serviceAccountKey)),
databaseURL: '指定されたURL',
})
const otherFirestore = getFirestore(app)
const getUsers = async () => {
const usersSnapshot = await otherFirestore.collection('users').get()
usersSnapshot.forEach((doc) => {
console.log(doc.id, ' => ', doc.data())
})
}
getUsers()