Flutter загрузить список в Google Firestore - PullRequest
0 голосов
/ 29 марта 2019

Я хотел бы добавить список из моего тестового приложения для флаттера в Google Firestore.

Это мой метод, который добавляет все данные:

void postToFireStore(
{String mediaUrl, String location, String description}) {

var reference = Firestore.instance.collection('insta_posts');

  reference.add({
    "marked_friends": [chipstuete.toString()],
    "username": currentUserModel.username,
    "location": location,
    "likes": {},
    "mediaUrl": mediaUrl,
    "description": description,
    "ownerId": googleSignIn.currentUser.id,
    "timestamp": new DateTime.now().toString(),

    }).then((DocumentReference doc) {
    String docId = doc.documentID;
    reference.document(docId).updateData({"postId": docId});
  });
}

Все работает нормально, ожидайте список "mark_friends" ...

В списке "chipstuete" есть несколько строк:

[Мартин Зойберт, Лена Эсслер, Вивьен Джонс]

Но мой Firestore выглядит так:

enter image description here

В настоящий момент весь список хранится в отмеченных_другах [0] ...

Что мне нужно изменить, чтобы каждая запись моего списка "chipstuete" сохранялась в отдельном поле моего массива "mark_friends" в Firestore?

С наилучшими пожеланиями!

Ответы [ 2 ]

1 голос
/ 29 марта 2019

Вы должны добавить метод в вашем классе AppProfile, который сериализует его в List.

Так в вашем классе AppProfile:

class AppProfile {

  ... // Whatever fields/methods you have

  // Add this method
  List<String> getFriendList() {
    // Somehow implement it so it returns a List<String> based on your fields
    return ['name1','name2','name3'];
  }
}

Тогда вы можетедо

"marked_friends": chipstuete.getFriendList(),
0 голосов
/ 29 марта 2019

У меня есть решение.

Как сказал SwiftingDuster, мне нужен новый метод, который сериализует его в список:

List<String> toList() {

  chipstuete.forEach((item) {
    newtuete.add(item.toString());
  });

  return newtuete.toList();
}

После этого я просто вызываю toList () в моем postToFirestore() Метод и добавить "mark_friends": newtuete.Это оно!

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