当我希望Cloud Firestore快速创建数组时创建地图

时间:2019-07-29 22:26:02

标签: swift firebase google-cloud-firestore

我正在尝试将包含电子邮件作为其键的数组存储在Cloud Firestore集合中的特定文档上。在某些情况下,当我写入数据库并将电子邮件及其关联数组存储时,它可以正常工作,但在另一情况下,电子邮件的第一部分一直到。存储为键以及值“ com”以及与com关联的数组,从而使其成为映射。有谁知道为什么发生这种情况以及如何解决它。

我已经尝试过文档,但是似乎找不到答案。

//The code that works
self.db.collection("Access Codes").document(accessCode).setData([
    "access code": self.accessCode.text!,
    self.email.text!: ["****", self.fullNameField.text!]
])


//code that does not work
self.db.collection("Access Codes").document(accessCode).updateData([
    self.email.text!: ["****", self.fullNameField.text!]
])

这应该变成 someone@gmail.com:[“ ****”,“某人”]

但是变成 someone @ gmail:{com:[****,“ someone”]}

1 个答案:

答案 0 :(得分:0)

更改此

self.db.collection("Access Codes").document(accessCode).updateData([
    self.email.text!: ["****", self.fullNameField.text!]
])

对此

self.db.collection("Access Codes").document(accessCode).updateData([
    [self.email.text!]: ["****", self.fullNameField.text!]
])

看看是否有帮助

编辑: 或这个

self.db.collection("Access Codes").document(accessCode).setData([
    self.email.text!: ["****", self.fullNameField.text!]
], merge: true)