🤞

firebase-adminで2つ目のプロジェクトを使うとき

2021/10/03に公開

ライブラリの宣言(設定反映)

第二引数に、独自のプロジェクト名を指定したらOK。

import * as admin from 'firebase-admin'

// 1つ目
admin.initializeApp({
  credential: admin.credential.cert('./firebase-adminsdk.json'),
})

// 2つ目
admin.initializeApp(
  {
    credential: admin.credential.cert(
      './firebase-adminsdk-second.json'
    ),
  },
  'second'
)

実際に使うとき

ライブラリを宣言したときの第二引数で指定した独自のプロジェクト名を
appの引数に指定してあげたら、2つ目のプロジェクトとして使うことができます👍

import * as admin from 'firebase-admin'

export const samples = admin.app('second').firestore().collection('sample')

/**
 * get sample find by sample id
 * @returns `[]`
 */
export const findById = async (sampleId: string): Promise<[]> => {
  const sample = await samples.doc(sampleId).get()
  return sample.data()
}

Discussion