在节点js中导出Firestore

时间:2018-11-15 21:28:40

标签: javascript node.js express google-cloud-firestore

我试图从一个快速的api访问firestore,但事实是我想用firestore初始化定义一个模块并将其导出,以便可以在我的api中的require语句中使用它。 香港专业教育学院一直试图定义这个

const admin = require("firebase-admin");
var serviceAccount = require("path_to_firebase_generated_key");
var db = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount)
});
module.exports.db = db.firestore(); 

但是当我尝试从另一个模块访问它并获取集合时,会抛出一个错误:

{"error": "db.collection is not a function"}

这是我的代码:

var db = require('../firestore/firestore');
     db.collection("collection_name")
          .doc("document_name")
          .set(object_to_insert)
          .then(result => {
             //action to perfom
          });

我一直在寻找如何做到这一点,但是我还没有找到解决方案,有人知道我能做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您的情况是,db来自以下行;

var db = require('../firestore/firestore');

将成为一个对象,该对象具有从第一个文件导出的也称为db的属性。也许您打算这样要求它:

var firestore = require('../firestore/firestore');
firestore.db.collection(...)