Я пишу несколько триггеров, которые работают на базе данных пожарного магазина фильмов и пользователей. в этом триггере «я пытаюсь показать новому пользователю фильмы с самым высоким рейтингом в списке жанров, которые он выбрал. для этого у меня есть массив его любимых жанров, и я хочу запросить базу данных внутри foreach l oop:
import * as functions from 'firebase-functions';
import { __values } from "tslib";
import * as admin from 'firebase-admin';
admin.initializeApp();
const films = admin.firestore().collection("Films");
export const new_user_recommend = functions.firestore
.document('/Users/{email}')
.onCreate((snap, context) => {
const new_user = snap.data();
if(new_user){
const new_email = new_user.email;
const favourite_genres = new_user.favourite_genres;
let film_id_arr: string[] = new Array();
favourite_genres.forEach((genre: string) => {
films.where('genres', 'array-contains', genre).orderBy('avg_rating', 'desc').limit(5).get()
.then((list_book: any)=>{
list_book.forEach((element: any) => {
const film_element = JSON.parse(element.data());
film_id_arr.push(film_element.data().id);
});
return film_id_arr;
})
.catch((error: any)=>{
console.log(error);
console.log("Error loading films");
});
});
}
return 0;
});
проблема в том, что я всегда получаю сообщение об ошибке в предложении catch (так для каждого жанра в массиве я получаю сообщение об ошибке). Я дважды проверил, чтобы убедиться, что строки в массиве совпадают со строками, которые могут быть записаны в поле «жанры» для каждого документа фильма. Это привело меня к мысли, что мой запрос как-то неверен. Это тот случай?
Я редактирую, чтобы добавить некоторые важные детали. точная ошибка, которую я получаю: «Не удалось загрузить учетные данные по умолчанию». Значит, это указывает на проблему с аутентификацией пользователя, а не на сам запрос?