这是我输入的数据:
这是我的功能:
exports.updateAll = functions.database.ref('/update/{uid}/{values}').onCreate(event => {
const data = event.data.val()
console.log(data)
return db.ref(`somewhereElse/somepath/`).update(data)
})
这是我收到的错误:
是否可以将所有创建的值更新回另一条路径?我认为使用event.data.val()创建一个const会起作用,但后来我得到了错误。
答案 0 :(得分:0)
您对onCreate
触发器的引用为/update/{uid}/{values}
,因此事件数据将是values
的参考。例如,/update/{uid}/email
的事件数据将是一个字符串,而这不是包含子项的对象。
如果您有理由需要以这种方式触发,则可以找到您所遇到的错误的解决方案。
functions.database.ref('/update/{uid}/{values}').onCreate(event => {
const key = event.params.values
const value = event.data.val()
console.log(key, value)
return db.ref(`somewhereElse/somepath/{key}`).set(value)
})
可以从事件参数和数据中检索创建的键值。然后我们可以将键插入到其他地方ref,并设置值而不是更新它。