我正在尝试使用firebase实时数据库多路径更新。但是,试图将父节点设置为null如下,将导致错误。
const firebaseUpdate = {}
firebaseUpdate[`user/${uid}`] = null
db.ref().update(firebaseUpdate)
错误:参考。update失败:第一个参数包含一个路径/用户/用户_id 那是另一种路径/用户/用户/user_id/creationtime
的祖先
我想知道是否有一种使用多路径更新的方法来将父母节点与多个孩子设置为null。我假设我可以使用删除或设置功能,但我宁愿使用多路径更新。
错误消息表示您正在尝试在一个操作中对数据库应用两个相互冲突的更新。正如消息所说,您的更新试图:
- 写入
/user/USER_ID
- 写入
/user/USER_ID/creationTime
第二个写作是第一个孩子的孩子。由于未指定的多站点中写入顺序,因此不可能说出写操作的结果是什么。
如果要用creationTime
替换/user/USER_ID
当前存在的任何数据,则应这样更新:
db.ref().update({
"/user/USER_ID": { creationTime: Date.now() }
})