我正在try 从一个集合中获取一些与以下字段/属性值之一匹配的文档

if(uid !== ''){
    try{
        const questions:any = []
        const appColRef = db.collection("sessions"); // best practice to use "ColRef" instead of just "Ref"
        const querySnapshot = await appColRef.get().where("uid", "==", uid)

        querySnapshot.forEach((doc:any) => {
            let data:any 
            data = doc.data()
            questions.push(data.message)
        });

        logger.log("all questions are:", questions)

    }catch(err){
        console.log("Failed to fetch sessions:", err)
    }
}

我是如何弄错的

无法获取会话:TypeError:appColRef.get(...).其中不是函数

我正在使用firebase函数gen 2如下:

import {onRequest} from "firebase-functions/v2/https";
import * as logger from "firebase-functions/logger";
const { initializeApp } = require('firebase-admin/app');
const { getFirestore } = require('firebase-admin/firestore');
const { getFunctions} = require("firebase-admin/functions");
initializeApp();
const db = getFirestore

推荐答案

你应该做的是

const querySnapshot = await appColRef.where("uid", "==", uid).get();

appColRef.where("uid", "==", uid)定义一个Query,您可以在其上调用get()方法.

Javascript相关问答推荐

为什么JavaScript双边字符串文字插值不是二次的?

调用removeEvents不起作用

嵌套异步JavaScript(微任务和macrotask队列)

当运行d3示例代码时,没有显示任何内容

VUE 3捕获错误并呈现另一个组件

如何在Angular拖放组件中同步数组?

使用带有HostBinding的Angular 信号来更新样式?

从另一个数组中的对应行/键值对更新数组中的键值对对象

如何在Press上重新启动EXPO-AV视频?

更新Redux存储中的对象数组

Jexl to LowerCase()和Replace()

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

JQuery使用选项填充HTMLSELECT并设置默认结果,默认结果显示为空

如何在加载页面时使锚定标记成为焦点

如何处理不带参数的redux thunk payloadCreator回调函数?

如何阻止外部脚本进入顶层导航

使用Java脚本在div中创建新的span标记

如何在css中裁剪成一定Angular 的圆的一部分,而不需要复杂的多边形

带元素数组的Mongo聚合

如何使用Angular JS双击按钮