// Get a new write batch const batch = writeBatch(db); var TransactionRecordRef = db.collection("TopUpRecord").doc(); batch.set(TransactionRecordRef, { Amount: FinalTopUpAmount, DateTime: serverTimestamp(), StudentID: StudentID, }); var TopUptoUserRef = db.collection("user").doc(UserID); batch.update(TopUptoUserRef, { "studentAmount": UserTotalAmount }); batch.commit();Hola, lo anterior es mi código que necesita usar el lote de escritura para crear un nuevo documento en TopUpRecord y actualizar la cantidad del usuario. Ahora tengo dos preguntas que necesito hacer, una es cómo puedo saber si el lote actualiza con éxito el registro de la tormenta de fuego y también descubrí que mi código anterior tiene un error que dice "db. la colección no es una función". ¿Por qué sucedió este problema?
Está mezclando la sintaxis de espacio de nombres v8 y anteriores ( db.collection("TopUpRecord").doc() ) con la sintaxis modular v9 y posteriores ( writeBatch(db) ), lo cual no es posible.
En la sintaxis modular, esa línea sería:
const TransactionRecordRef = doc(collection(db, "TopUpRecord"));Consulte también los ejemplos de v9 en la documentación de Firebase y la guía de actualización .