Как я могу использовать общий экземпляр firestore на экспрессе? - PullRequest
0 голосов
/ 28 мая 2018

У меня есть приложение Firebase Functions with Express, и я хотел бы использовать экземпляр Firestore на нескольких контроллерах.Поэтому я создал простой сервис:

. / Services / firebase.serivce.ts

  admin.initializeApp(functions.config().firebase);
  const firestore = admin.firestore();
  export const db = firestore;

Затем в моем контроллере

./controllers/test.ts

import { db } from './../services/firebase.service';
...

const collection = db.collection('contacts');
const router = express.Router();

router.post('/', (req, res) => {
...

и app.js

 import { TestController } from './controllers/test'
 ...

  app.use('/contact', TestController);
  export const api = functions.https.onRequest(app);

Но я получаю сообщение об ошибке:

По умолчаниюПриложение Firebase не существует.Убедитесь, что вы вызываете initializeApp () перед использованием любой из служб Firebase.

И если я пытаюсь initializeApp() на всех моих контроллерах, я получаю сообщение о том, что приложение уже существует.

Что я могу сделать, чтобы поделиться одним экземпляром для нескольких файлов?

...