Я хочу получить доступ к вложенной коллекции под названием «подписчики» из данного идентификатора в «mobile_user», в которой содержатся идентификаторы подписчиков. Я хочу просмотреть все идентификаторы в подколлекции подписчиков и запросить данные из коллекции 'mobile_user'. Обратите внимание, что идентификатор в коллекции «последователи» - это идентификатор другого пользователя в «mobile_user», который содержит данные документа, которые я хочу.
Я безуспешно пытался возиться с обещаниями, я могу выполнить цикл foreach и просто запросить имя в качестве теста, но массив заполняется правильно, но заполненный массив с именами N пользователей никогда не вернулся.
Мне нужна помощь с моим кодом, обещания сводят меня с ума, я не могу их освоить.
const getFollowers = (data, context) => {
return new Promise((resolve, reject) => {
let id = data.id
const mobileUserRef = db.collection('mobile_user')
return mobileUserRef.doc(id).collection('followers')
.get()
.then(function (doc) {
var result = []
doc.forEach(function (follower) {
mobileUserRef.doc(follower.id).get()
.then(function (followerdoc) {
result.push({
name: followerdoc.data().name,
})
console.log(result)
})
})
return Promise.all(result);
})
});
}
Ожидаемый результат - массив с данными каждого идентификатора под подписчиком последователей, например:
В этом примере присутствуют только 2 идентификатора пользователя
[ { name: 'Luis' }, { name: 'Marb Rocha' } ]