Как я могу изменить массив на основе пользователя в firebase? - PullRequest
0 голосов
/ 01 января 2019

Я создаю приложение, использующее Reactjs и Firebase, которые обрабатывают пользователей, и каждый пользователь может добавлять, удалять, обновлять и, конечно, отображать свой список избранных.структура для каждого пользователя может выглядеть примерно так: {uid: '123', favList: ['1', '2']}.Как можно обновить массив favList и не добавить новую запись, если uid уже существует?

enter image description here

Вот мой код для добавления:

const db = fire.firestore();
db.settings({
   timestampsInSnapshots: true
});
db.collection('users').add({
  favorites: this.state.favs,
  uid: fire.auth().currentUser.uid
});

1 Ответ

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

То, что вы пытаетесь сделать, известно как операция объединения массивов в Firebase.

Если у вас есть ссылка на документ, в который вы хотите добавить UID в поле favorites:

documentRef.update({
    favorites: firebase.firestore.FieldValue.arrayUnion(uid)
});

Подробнее об этом см. Документацию об обновлении элементов в массиве .

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