我正在尝试将包含电子邮件作为其键的数组存储在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”]}
答案 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)