FLUTTER и FIREBASE: Как увеличить int на карте? - PullRequest
0 голосов
/ 03 февраля 2020

Я использую flutter + firebase, и у меня есть проблема, в моем БД у меня есть значение 'Votes', которое представляет собой массив из 2 int. Я хочу увеличить их, используя вот так: 'Votes': [FieldValue.increment (nb1), FieldValue.increment (nb2)], но это не работает, поэтому я застрял и не знаю, как их увеличить.

  Future vote(String voteid) async {
    List<dynamic> listvote = [];
    List<dynamic> vote1 = [];
    List<dynamic> vote2 = [];
    List<dynamic> votevierge = [];
    var vote = nomines.indexOf(voteid);
    int nb1 = 0;
    int nb2 = 0;

    final snapShot =
        await Firestore.instance.collection('rooms').document(pincode).get();
    if (snapShot != null) {
      listvote = snapShot.data['Votes'];
      vote1 = snapShot.data['Vote1'];
      vote2 = snapShot.data['Vote2'];
      listvote[vote] = listvote[vote] + 1;
      if (vote == 0) {
        votevierge = List.from(vote1);
        votevierge.add(nameid);
        nb1 = 1;
      } else {
        votevierge = List.from(vote2);
        votevierge.add(nameid);
        nb2 = 1;
      }
      vote++;
      Firestore.instance.collection('rooms').document(pincode).updateData({
        'Votes': [FieldValue.increment(nb1), FieldValue.increment(nb2)],
        'Vote$vote': votevierge,
      });
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...