Firebase Firestore-在云功能中使用collectionGroup查询

时间:2019-06-30 22:41:36

标签: node.js firebase google-cloud-firestore google-cloud-functions

我想在云函数中使用collectionGroup查询,并且仅当我从firebase / app导入时才可用:

import * as firebase from 'firebase/app';
const db = firebase.firestore();

...
const snap = await db.collectionGroup('comments').where('foo', '==', 'bar').get();

但是当我尝试部署时,我会得到

  

TypeError:firebase.firestore不是函数

在其他云功能中,我总是从firebase-admin导入,但是打字稿告诉我它没有collectionGroup方法。

import * as admin from 'firebase-admin';
const db = admin.firestore();

当前我的版本位于最新版本:

"firebase": "^6.2.4",
"firebase-admin": "^8.2.0",

也很高兴理解为什么要从“ firebase-admin”或“ firebase / app”获得db实例。我不明白为什么会有两个单独的实例。

1 个答案:

答案 0 :(得分:1)

这应该有效:

import * as admin from 'firebase-admin'
const db = admin.firestore()

const snap = db.collectionGroup('comments').where('foo', '==', 'bar').get()

last version支持collectionGroup类型

我建议删除node_modules并重新安装(我只是理智地检查了您的示例,它运行良好,在"firebase-admin": "8.0.0"上没有问题)。