iSa*_*mya 4 javascript firebase vue.js google-cloud-firestore
在我的Firestore数据库中,我已将用户的电子邮件作为文档密钥。如果我想db.collection('users').doc('email_id')执行某些操作,该怎么办。现在的问题是,当用户更新其电子邮件ID时,我找不到任何方法来更新document idFirestore中的。
我试着做
db.collection('users').doc(old_email).update({
id: new_email
})
Run Code Online (Sandbox Code Playgroud)
但这实际上创建了一个新字段id,该新字段以该文档内的新电子邮件作为值,而不是更新实际字段,document id以便我可以在其中传递doc()并获取有关用户的相同数据。
有人知道怎么做吗?如果是这样,请分享。
在发布此问题之前,我已经检查了google和firestore文档,但找不到任何更新文档ID的方法。请帮忙。
Fra*_*len 11
没有用于更改现有文档ID的API,也没有用于移动文档的API。如果要将相同的内容存储在其他文档中,则必须:
您需要在事务中运行这些操作,以确保这些操作原子完成。
我不认为有一种方法可以更改文档 ID,但即使有一种方法,您所做的也是非常错误的。ID 应该是一个唯一标识符,让自己成为一个 UserID 字段,例如使用 Firebase Authfirebase.Auth().currentUser.uid作为您在 Firestore 中保存的用户特定数据的 ID。
我建议你改变它,解决你的问题,更重要的是给你一个坚实的结构。(来自 Auth 的 UID 是唯一的)
| 归档时间: |
|
| 查看次数: |
5814 次 |
| 最近记录: |