如何在express上使用共享firestore实例?

时间:2018-05-28 14:05:49

标签: typescript firebase express google-cloud-firestore google-cloud-functions

我有Express应用程序的Firebase功能,我想在多个控制器上使用Firestore实例。所以我创建了一个简单的服务:

./服务/ firebase.serivce.ts

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

然后在我的控制器中

./控制器/ 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应用不存在。确保在使用任何Firebase服务之前调用initializeApp()。

如果我在所有控制器中尝试initializeApp(),我会收到一条消息,说该应用已存在。

如何为多个文件共享同一个实例?

0 个答案:

没有答案