# #firebase #flutter #dart #google-cloud-firestore
Вопрос:
я работаю над firebase и пытаюсь обновить имя документа и имя его поля вместе, как показано на рисунке. я хочу, чтобы они обновлялись вместе.
я использовал этот код
EditCourse(String cName, String newName) async {
var collection = FirebaseFirestore.instance.collection("Courses")
..where("Course name", isEqualTo: cName);
collection.doc(cName).update({'Course name': newName});
}
Ответ №1:
Ответ: На данный момент Firebase не позволяет обновлять идентификаторы документов)
Предложение: вы должны использовать реляционные идентификаторы или случайные идентификаторы (реляционные идентификаторы означают, что, если у вас есть любимая коллекция продавца, вы можете присвоить идентификаторы документов идентификаторам фильмов / продуктов)
Ответ №2:
Невозможно обновить идентификатор существующего документа. Если вам необходимо поддерживать вариант использования с изменением названий курсов, рассмотрите возможность использования встроенной функции генерации идентификаторов Firestore при добавлении ваших документов (поэтому добавляйте документы с помощью add()
метода).
Если вы будете придерживаться своей текущей модели, вам придется:
- Прочитайте существующий документ.
- Введите дату под новым идентификатором.
- Удалите исходный документ.
Учитывая тип операции, вы, вероятно, захотите использовать для этого транзакцию.