FireBase — поле обновления при использовании аутентификации пользователя

#firebase #firebase-authentication #insert-update

#firebase #firebase-аутентификация #вставить-обновить

Вопрос:

Я застрял с FireBase прямо сейчас. У меня есть функция, которую я использую для изменения цвета значка звезды в моем тестовом приложении. все работает нормально. Теперь я хотел бы, чтобы, когда пользователь нажимал на значок, он обновлял значение в документе в FireBase.

Поскольку я начинаю изучать flutter уже 4 недели, это непросто. Большое спасибо за вашу помощь.

 void _toggleFlagInbox() {
    setState(() {
      if (_isUrgentInboxTask == "true") {

        _isUrgentInboxTask = "false";

        FirebaseFirestore.instance
            .collection("Users")
            .doc("tasks")
            .collection("tasks")
            .where("task_Status", isEqualTo: task_Inbox)
            .get()
            .then((res) {
          res.docs.forEach((result) {
            FirebaseFirestore.instance
                .collection("Users")
                .doc("tasks")
                .collection("tasks")
                .doc(result.id)
                .update({"important": "false"});
          });
        });


        FirebaseFirestore.instance
            .collection('Users')
            .doc(FirebaseAuth.instance.currentUser.uid)
            .collection('tasks')
            .docs
            .update({'important':"false"});

         

      } else {

        _isUrgentInboxTask = "true";
      }
    });

  

Ответ №1:

У меня есть find. Я копирую то, что я делаю, на случай, если это поможет кому-то другому

 FirebaseFirestore.instance
        .collection('Users')
        .doc(
        FirebaseAuth.instance.currentUser.uid)
        .collection('inbox')
        .doc(document.id)
        .update({
        "important":"false"});