Tengo que acceder a una base de datos de firestore dentro de las funciones de firebase. Uso el siguiente código para obtener una instancia de firestore:
import { initializeApp } from "firebase-admin/app" initializeApp(); import { getFirestore } from 'firebase-admin/firestore' const db = getFirestore();Esta instancia se puede utilizar para acceder a la base de datos.
db.collection('test').add( { anything: 123 } ) db.collection('test').doc('test123').set( { afield: 1234 } ) db.collection('test').doc('test123').get()De acuerdo con https://firebase.google.com/docs/firestore/query-data/queries#web-version-8 , esta es la interfaz "Web versión 8 (namespaced)" para acceder a las bases de datos de Firestore.
¿Cómo puedo utilizar la interfaz "Web versión 9 (modular)"? El ejemplo de la versión 9 de la misma página:
import { collection, doc, setDoc } from "firebase/firestore"; const citiesRef = collection(db, "cities");da como resultado el siguiente error:
FirebaseError: se esperaba que el primer argumento de la colección () fuera una CollectionReference, una DocumentReference o FirebaseFirestore
¿Hay alguna forma de consultar firestore con privilegios de administrador usando una interfaz modular?
¡Gracias!
Admin SDK aún no utiliza una sintaxis funcional. La Web version 8/9 son cliente SDK. Consulte la pestaña NodeJS de la documentación cuando use Firebase Admin SDK.
También está importando collection() del SDK del cliente de Firebase, pero parece que la base de datos se inicializa usando db getFirestore() del SDK de Firebase que podría no funcionar correctamente.