【发布时间】:2020-11-15 04:07:54
【问题描述】:
我正在删除一个 FRTDB 节点,我想从该节点访问已删除的数据。功能如下:
exports.events = functions.database.ref('/events/{eventId}').onWrite(async (change, context) => {
const eventId = context.params.eventId
if (!change.after.exists() && change.before.exists()) {
//data removed
return Promise.all([admin.database().ref(`/events/${eventId}/dayofweek`).once('value')]).then(n => {
const pms = []
const days = n[0]
days.forEach(x => {
pms.push(admin.database().ref(`${change.before.val().active ? 'active' : 'inactive'}/${x.key}/${eventId}`).set(null))
})
return Promise.all(pms)
});
else {
return null;
}
})
我遇到的问题是
admin.database().ref(`/events/${eventId}/dayofweek
不要循环数据,因为数据似乎不再存在,所以 forEach 不起作用。如何访问这些数据并循环删除的数据?
【问题讨论】:
标签: javascript firebase-realtime-database google-cloud-functions firebase-admin