gpt4 book ai didi

swift - Firestore "updateData"删除文档中的所有字段

转载 作者:行者123 更新时间:2023-11-28 13:59:09 24 4
gpt4 key购买 nike

在我的项目中,我有一个“员工”集合,其中每个员工文档都包含以下文件:firstName、lastName、zipCode、refreshToken 等。当尝试仅更新 refreshToken 的值时,我使用“updateData”,如文档 docs 中所示我的代码:

    static func updateToken(token:String){

Firestore.firestore().collection("companies").document(self.user.companyId).collection("employees")
.document(self.user.employeeId).updateData(["refreshToken" : token])
}

但这会删除员工文档的所有其他值(firstName、lastName、zipCode 等),并且在操作后节点中只存在 refreshToken 的新值。我是在做错事还是误解了“updateData”的概念?

最佳答案

如果你想更新一个字段的值并且文档确实存在,它的内容将被新提供的数据覆盖,除非你指定数据应该合并到现有的文件,如下:

Firestore.firestore().collection("companies").document(self.user.companyId)
.collection("employees").document(self.user.employeeId)
.setData(["refreshToken" : token], merge: true)
}

看,我使用了 setData() 函数而不是 updateData()

关于swift - Firestore "updateData"删除文档中的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com