如何在 Firebase 实时数据库 (v9) 中增加值
How to increment values in Firebase Realtime Database (v9)
我注意到 Javascript v8 中有关于如何增加实时数据库值的说明:
===
添加了 ServerValue.increment() 以支持无事务的原子字段值递增。
API 文档在这里
用法示例:
firebase.database()
.ref('node')
.child('clicks')
.set(firebase.database.ServerValue.increment(1))
或者你可以递减,只需将 -1 作为函数参数,如下所示:
firebase.database()
.ref('node')
.child('clicks')
.set(firebase.database.ServerValue.increment(-1))
但是,我注意到 v9 文档中没有任何对 ServerValue 的引用。
这是否意味着此功能不可用?
我试过自己将其转换为 v9,但到目前为止我一直没有成功:
const setWeekComplete = () => {
set(ref(database, `users/${user}/streakCounter`), {
weeks: database.ServerValue.increment(1)
});
}
它在 V9 中仍然可用,您会发现它 here in the doc。所以下面应该可以解决问题。
import { ... , increment } from 'firebase/database';
// ...
const setWeekComplete = async () => {
await set(ref(database, `users/${user}/streakCounter`), {
weeks: increment(1)
});
}
我注意到 Javascript v8 中有关于如何增加实时数据库值的说明:
===
添加了 ServerValue.increment() 以支持无事务的原子字段值递增。
API 文档在这里
用法示例:
firebase.database()
.ref('node')
.child('clicks')
.set(firebase.database.ServerValue.increment(1))
或者你可以递减,只需将 -1 作为函数参数,如下所示:
firebase.database()
.ref('node')
.child('clicks')
.set(firebase.database.ServerValue.increment(-1))
但是,我注意到 v9 文档中没有任何对 ServerValue 的引用。
这是否意味着此功能不可用?
我试过自己将其转换为 v9,但到目前为止我一直没有成功:
const setWeekComplete = () => {
set(ref(database, `users/${user}/streakCounter`), {
weeks: database.ServerValue.increment(1)
});
}
它在 V9 中仍然可用,您会发现它 here in the doc。所以下面应该可以解决问题。
import { ... , increment } from 'firebase/database';
// ...
const setWeekComplete = async () => {
await set(ref(database, `users/${user}/streakCounter`), {
weeks: increment(1)
});
}