Как обновить значения массива во Flutter cloud_firestore? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть документ с полем массива.

Как мне обновить массив?

В функциях Firebase с машинописью я сделал что-то вроде этого:

admin.firestore()
    .collection('friendships')
    .doc(caller.data["uid"])
    .update({
        friends: admin.firestore.FieldValue
            .arrayUnion({
                          friendDisplayName: snapshot.data["friendDisplayName"],
                          friendUid: snapshot.ref
                       })
    })

Я не могу найти альтернативу Flutter .. как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Решение, которое я даю вам, заключается в том, что вы используете транзакции, но независимо от этого, они работают одинаково ... List<dynamic> list = List.from(documentSnapshot.data['uids']); list.add(uid); await documentTransaction.update( postRef, <String, dynamic>{ 'counter': documentSnapshot.data['counter'] + 1, 'uids': list, }, );

0 голосов
/ 24 января 2019

как то так

firestore.instance.
    .collection('friendships')
    .document(caller.data["uid"])
    .updateData({
  friends: FieldValue.arrayUnion({
    friendDisplayName: snapshot.data["friendDisplayName"],
    friendUid: snapshot.ref
  })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...