【问题标题】:Firebase firestore - use collectionGroup queries in cloud functionFirebase firestore - 在云功能中使用 collectionGroup 查询
【发布时间】:2023-03-27 01:55:01
【问题描述】:

我想在云功能中使用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 导入,但 typescript 告诉我它没有 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 实例,那也很好。我不明白为什么会有 2 个单独的实例。

【问题讨论】:

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


    【解决方案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" 没有问题)。

    【讨论】:

    • 谢谢! VScode 缓存了旧版本的接口。直到我选择点击进入该类时,它才刷新了界面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多