Запросы в подколлекции? - PullRequest
0 голосов
/ 09 ноября 2019

Это моя структура: enter image description here enter image description here

Я хочу запросить и отобразить все группы, в которых присутствует конкретный пользователь.

Я запрашиваю пользователя следующим образом:

 componentDidMount() {
    const uid = auth().currentUser.uid;
    firestore()
      .collectionGroup('Members')
      .where('uid', '==', `${uid}`)
      .get()
      .then(doc => {
        doc.forEach(snap => {
          console.log(snap.id); // Gives User Document under Members sub-collection
        });
      });
  }

Но как мне получить идентификатор группы документа (из родительской коллекции «Группы»), в котором присутствует пользователь?

1 Ответ

1 голос
/ 09 ноября 2019

В вашем коде snap - это объект типа DocumentSnapshot , который содержит ссылку на полный путь к документу, запрашиваемому в свойстве ref . Вы можете использовать этот объект DocumentReference , чтобы найти родительские коллекции и документы, пройдя по пути, используя его свойство parent , или проанализировав его строку path .

// a CollectionReference to Groups/{groupId}/Members
snap.ref.parent

// a DocumentReference to Groups/{groupId}
snap.ref.parent.parent  

// the string ID of the above DocumentReference {groupId}
snap.ref.parent.parent.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...