Невозможно объединить данные, используя set () в firestore, вместо этого данные перезаписываются - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу добавить документ UserId в коллекцию друзей, поскольку они принимают новые запросы на добавление в друзья, но поле uid в документе перезаписывается последним принятым запросом на добавление в друзья. Я получаю эту ошибку, несмотря на использование merge: true Что я ожидаю:

Friends (collection)
    userId (document) 
        uid: randomValue, 
        uid: randomValue,
        .
        .and so on

Что на самом деле происходит:

Первоначально принятый запрос на добавление в друзья

После принятия запроса на добавление в друзья от другого пользователя

Мой код:

const uid = auth().currentUser.uid;
  function onAcceptRequest() {
    firestore()
      .collection('Friends')
      .doc(`${uid}`)
      .set(
        {
          uid: senderId,
        },
        {merge: true},
      )
      .then(() => {
        firestore()
          .collection('Friends')
          .doc(`${senderId}`)
          .set(
            {
              uid: uid,
            },
            {merge: true},
          )
          .then(console.log('Befriended'))
          .then(() => deleteRequest())
          .catch(err => console.log('senders err', err));
      })
      .catch(err => console.log('currentUsers err', err));
  }

Если есть какой-либо другой способ снятьто же самое, пожалуйста, предложите. Спасибо.

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