首页 > 解决方案 > 在 Cloud Firestore 中将数组另存为地图

问题描述

我有一个对象数组,我正在按照以下代码创建并保存到 Firestore:

var user1 = [String : Any]()
var user2 = [String : Any]()
var user3 = [String : Any]()

user1.updateValue("UID1", forKey: "UserID")
user1.updateValue("John", forKey: "fName")
user1.updateValue("Smith", forKey: "lName")

user2.updateValue("UID2", forKey: "UserID")
user2.updateValue("John", forKey: "fName")
user2.updateValue("Doe", forKey: "lName")

user3.updateValue("UID3", forKey: "UserID")
user3.updateValue("Jane", forKey: "fName")
user3.updateValue("Doe", forKey: "lName")

var userDetailsArray = [[String:Any]]()

userDetailsArray.append(user1)
userDetailsArray.append(user2)
userDetailsArray.append(user3)

startCompBatch.setData(["userDetails" : userDetailsArray], forDocument: doRef, merge: true)

在 Firestore 控制台中,保存如下: 在此处输入图像描述

这没关系,但我试图激活的是以下内容: 在此处输入图像描述

我敢肯定这很简单,但我找不到任何指向正确方向的东西。

标签: swiftgoogle-cloud-firestore

解决方案


将其更改为

var userDetailsDict = [String:Any]()
userDetailsDict["user1"] = user1
userDetailsDict["user2"] = user2
userDetailsDict["user3"] = user3
startCompBatch.setData(["userDetails" : userDetailsDict], forDocument: doRef, merge: true)

推荐阅读