Я хочу запросить две вложенные коллекции DocumentReference
.
Я пытался сделать следующее:
var promise1 = admin.firestore().collection(`players/${id}/collection1`).get();
var promise2 = admin.firestore().collection(`players/${id}/collection2`).get();
return Promise.all(promise1, promise2)
Проблема, однако, заключается в том, что, выполнив следующее, я получаю следующую ошибку:
TypeError: (var) [Symbol.iterator] не является функцией
на Function.all (родной)
at exports.onSubmission.functions.firestore.document.onCreate (/user_code/index.js:671:20)
Итак, я попытался вложить их, как показано ниже, и все работало нормально.
return admin.firestore().collection(`players/${id}/collection1`).get().then(foundersSnapshot => {
return admin.firestore().collection(`players/${id}/collection2`).get().then(metricsSnapshot => {
Однако при развертывании я получаю предупреждение:
Избегайте вложенных обещаний
Итак, каковы лучшие практики в этом случае? Я бы предпочел сделать через Promise.all
, но это не работает. Кроме того, он вывел бы две коллекции как результаты в then(results => {
Так что, в этом случае, я мог бы смело рассматривать results[0]
как "collection1" и `results [1] как" collection2 "?