Observo que hay instrucciones sobre cómo incrementar los valores para la base de datos en tiempo real en Javascript v8:
===
Se agregó ServerValue.increment() para admitir incrementos de valor de campo atómico sin transacciones.
Documentos API aquí
Ejemplo de uso:
firebase.database() .ref('node') .child('clicks') .set(firebase.database.ServerValue.increment(1))O puede disminuir, simplemente ponga -1 como función arg así:
firebase.database() .ref('node') .child('clicks') .set(firebase.database.ServerValue.increment(-1))Sin embargo, observo que no hay ninguna referencia a ServerValue en la documentación de v9.
¿Significa esto que esta funcionalidad no está disponible?
Intenté convertirlo a v9 por mi cuenta, pero hasta ahora no he tenido éxito:
const setWeekComplete = () => { set(ref(database, `users/${user}/streakCounter`), { weeks: database.ServerValue.increment(1) }); }Todavía está disponible en V9 y lo encontrará aquí en el documento . Así que lo siguiente debería hacer el truco.
import { ... , increment } from 'firebase/database'; // ... const setWeekComplete = async () => { await set(ref(database, `users/${user}/streakCounter`), { weeks: increment(1) }); }