Firestore“ updateData”删除文档中的所有字段

时间:2018-12-08 12:08:19

标签: swift firebase google-cloud-firestore

在我的项目中,我有一个“员工”集合,其中每个员工文档都包含以下文件: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”的想法?

1 个答案:

答案 0 :(得分:1)

如果您想更新字段的值并且如果文档确实存在,则其内容将被新提供的数据覆盖,除非您指定应将数据合并到现有文件中文档,如下所示:

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

看,我有setData()而不是updateData()函数。