You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift应用中Firestore添加数组元素时遇类型转换错误求解决

问题解决方法

错误原因很明确:FieldValue.arrayUnion(_:)方法要求传入数组类型的参数([Any]),你直接传递了单个String类型的eventID,导致类型不匹配。

修正后的代码如下:

func addEventIdToUser(eventID: String) async {
        let db = Firestore.firestore()
        let userReference = try await db.collection("user").document(userID)
        try? await userReference.updateData(["events": FieldValue.arrayUnion([eventID])])
  
    }

只需要把eventID用数组包裹起来,变成[eventID]传入arrayUnion即可。arrayUnion的作用是向Firestore的数组字段中添加不重复的元素,哪怕只添加单个元素,也需要以数组形式作为参数传入。

内容的提问来源于stack exchange,提问作者anni_m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:20:16