Я пытаюсь использовать http-запрос в функции Firesbase для запроса коллекции. Я использую Postman для достижения этой конечной точки, и каждый раз, когда я запускаю ее, она возвращает различное количество результатов в снимке.
Я подозреваю, что это асинхронная проблема c, где, возможно, снимок не отображается ' я полностью вернулся к тому времени, когда я записал консоль. Но я изо всех сил пытаюсь понять, как, поскольку это уже в обещании. Я, вероятно, делаю что-то глупое (я все еще довольно нов с обещаниями), но, похоже, не могу отследить это. Что дает?
const admin = require("firebase-admin");
const functions = require("firebase-functions");
admin.initializeApp();
const db = admin.firestore();
exports.quoteReport = functions.https.onRequest((req, res) => {
var collectionRef = db.collection("quotes");
var query = collectionRef
.where("userRegion", "==", "South")
.get()
.then(snapshot => {
console.log(snapshot.size);
return snapshot.forEach(doc => {
console.log(doc.id, "=>", doc.data().userName);
});
})
.then(() => {
return res.status(200).send("Complete");
})
.catch(err => {
console.log("Error getting documents", err);
});
});