【发布时间】:2021-12-07 01:23:59
【问题描述】:
我正在尝试通过 SwiftUI 从 Firestore 中的数组中删除特定对象。以下函数删除整个监视列表。我错过了什么?
func removeFromWatchlist() {
if let uid = Auth.auth().currentUser?.uid {
let docRef = db.collection("user").document(uid) // company.symbol = "AAPL"
docRef.updateData(["watchlist": FieldValue.arrayRemove([company.symbol])]) { error in
if error == nil {
print("Successful deleted array")
}
}
}
}
【问题讨论】:
-
观察列表看起来像一个对象映射而不是一个数组。您是否尝试过删除密钥本身?即
updateData(["watchlist.AAPL": FieldValue.delete()])(我不是 Swift 开发人员,所以语法可能不正确,但这就是它的要点)。 -
Firebase 中的地图不是数组。数组的索引为 0-11,而不是图像上的名称。
标签: firebase google-cloud-firestore swiftui