gpt4 book ai didi

node.js - 使用 Web 版本 9 界面(模块化)从 firebase-functions 访问 firestore

转载 作者:行者123 更新时间:2023-12-05 03:28:40 27 4
gpt4 key购买 nike

我必须在 firebase 函数中访问 firestore 数据库。我使用以下代码获取 firestore 实例:

import { initializeApp } from "firebase-admin/app"
initializeApp();

import { getFirestore } from 'firebase-admin/firestore'
const db = getFirestore();

这个实例可以用来访问数据库

db.collection('test').add( { anything: 123 } )
db.collection('test').doc('test123').set( { afield: 1234 } )
db.collection('test').doc('test123').get()

根据 https://firebase.google.com/docs/firestore/query-data/queries#web-version-8这是用于访问 firestore 数据库的“Web 版本 8(命名空间)”界面。

如何使用“Web 版本 9(模块化)”界面?来自同一页面的第 9 版示例:

import { collection, doc, setDoc } from "firebase/firestore"; 
const citiesRef = collection(db, "cities");

导致以下错误:

FirebaseError: Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore

有没有办法使用模块化界面以管理员权限查询 firestore?

谢谢!

最佳答案

Admin SDK 还没有完全使用函数式语法。 Web 版本 8/9 是客户端 SDK。使用 Firebase Admin SDK 时,请参阅文档的 NodeJS 选项卡。

您还从 Firebase 客户端 SDK 导入 collection() 但似乎 db 是使用来自 Firebase SDK 的 getFirestore() 初始化的可能无法正常工作。

关于node.js - 使用 Web 版本 9 界面(模块化)从 firebase-functions 访问 firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71197295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com