Firestore "updateData" удаляет все поля в документе - PullRequest
0 голосов
/ 08 декабря 2018

В моем prpject у меня есть коллекция «сотрудники», где каждый документ сотрудника содержит файлы, такие как: 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 голосов
/ 10 декабря 2018

Если вы хотите обновить значение поля и, если документ существует, его содержимое будет перезаписано вновь предоставленными данными, если только вы не укажете, что данные должны быть объединены в существующий документ, следующим образом:

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

Видите, у меня есть функция usef setData() вместо updateData().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...