Firebase实时数据库-Web/Javascript-如何作为一个批处理执行多个写入操作
我注意到Firebase Firestore为我们提供了一个选项,可以将多个写操作作为包含set()、update()或delete()任意组合的单个批执行 在Firebase实时上也可以吗Firebase实时数据库-Web/Javascript-如何作为一个批处理执行多个写入操作,javascript,firebase,web,firebase-realtime-database,Javascript,Firebase,Web,Firebase Realtime Database,我注意到Firebase Firestore为我们提供了一个选项,可以将多个写操作作为包含set()、update()或delete()任意组合的单个批执行 在Firebase实时上也可以吗 基本上,我有以下数据: main: { first: { keywords: { one: { active: false, required: false }, two: { active: false, required: fal
基本上,我有以下数据:
main: {
first: {
keywords: {
one: { active: false, required: false },
two: { active: false, required: false },
three: { active: false, required: false },
}
}
}
我创建了一个操作来更新单个值,如下所示:
database.ref(`main/${category}/keywords/${keyword}/`).update({ active })
我需要创建一个新的操作来更新所有关键字的子项的活动值
我知道我可以通过如下方式更新整个对象来更新“关键字”:
database.ref(`main/${category}/keywords/${keyword}/`).update({ active })
database.ref(main/${category}/keywords
).update(此处更新了对象)
然而,出于好奇,有没有一种方法可以让我循环进入关键字并更新特定的值?也许是这样的
database.ref(`main/${category}/keywords/`).forEach(item => item.update({ active }))
也许,会帮助你:
let dbConnection = firebase.database().ref(`main/${category}/keywords/`);
dbConnection.once('value', dataSnapshot => {
dataSnapshot.forEach(child => {
child.ref.update({ active });
});
});