不要在Firestore中存储具有重复密钥的文档

时间:2018-01-13 17:10:50

标签: firebase firebase-security google-cloud-firestore

我想避免在不同文档中使用重复的密钥。

例如,在文件1中我有:

{
  "user": "myuser",
  "email: "a@a.com"
}

在文件2中我有:

{
  "user": "myuser2",
  "email: "b@b.com"
}

在文件3中我有:

{
  "user": "myuser",
  "email: "c@c.com"
}

我不希望能够创建文档3,因为用户键具有相同的值。是否可以使用数据库规则执行此操作?

感谢。

2 个答案:

答案 0 :(得分:0)

添加user作为唯一ID的文档

db.collection("Your Collection").document(user).set(Your Object)

"用户"是对象的用户字段

答案 1 :(得分:0)

一个解决方案可能是使用email地址作为您文档的唯一id,因为电子邮件地址始终是唯一

db.collection("collection/" + userObject.email).set(userObject)

db.collection("collection").doc(email).set(user object)