我想在云函数中使用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
实例。我不明白为什么会有两个单独的实例。
答案 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"
上没有问题)。