Cloud Firestore: добавьте коллекцию и вспомогательную коллекцию за один раз - PullRequest
0 голосов
/ 11 июля 2019

Чтение документации. Я не вижу способа, если это возможно разумным способом.

Я пытаюсь создать документ team с вложенным документом member. * 1005.*

И что я действительно пытаюсь достичь, так это сложный способ структурирования чтения / записи / обновления коллекций и вложенных коллекций.

async createTeam(newTeam, foundingTeamMember) {
    const teams = db.collection('teams');
    const teamRef = await db.collection('teams').add(newTeam);
    const memberRef = await teams.doc(companyRef.id)
      .collection('members').add(foundingTeamMember);

    return({
       teamId: teamRef.id,
       memberId: memberRef.id,
    });
}

В частности, есть ли способ возврата teamId и memberId без необходимости использовать async / await?

Что-то вроде:

  db
    .collection('teams')

    .add(newTeam)
    .collection('members')
    .add(foundingTeamMember).then(/* return collection parent ID */)

1 Ответ

0 голосов
/ 11 июля 2019

Случайные идентификаторы для новых документов всегда генерируются на клиенте.Вы можете использовать метод doc () в CollectionReference без параметров, чтобы сгенерировать ссылку на документ со случайным идентификатором без фактического добавления документа.Затем вы можете сразу же поработать со свойством id этой ссылки и создать документ позже.

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