Javascript 每次返回不同快照的函数中的Firestore查询
我试图在Firesbase函数中使用http请求来查询集合。我使用Postman来访问这个端点,每次运行它时,它都会在快照中返回不同数量的结果 我怀疑这是一个异步问题,在我记录快照时,快照可能没有完全返回。但是,我正在努力想办法,因为它已经在承诺中了。我可能在做一些愚蠢的事情(我对承诺还很陌生),但似乎无法追踪到这一点。有什么好处Javascript 每次返回不同快照的函数中的Firestore查询,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我试图在Firesbase函数中使用http请求来查询集合。我使用Postman来访问这个端点,每次运行它时,它都会在快照中返回不同数量的结果 我怀疑这是一个异步问题,在我记录快照时,快照可能没有完全返回。但是,我正在努力想办法,因为它已经在承诺中了。我可能在做一些愚蠢的事情(我对承诺还很陌生),但似乎无法追踪到这一点。有什么好处 const admin = require("firebase-admin"); const functions = require("firebase-functi
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);
});
});
Firestore没有部分或不完整的快照。如果
snapshot.size
随着每个查询而变化,那么我会假设该值必须是正确的。因为我们看不到您的数据以及您可能正在使用它做什么,所以这里没有什么可以说的了代码>给出不同/错误的结果,或者是控制台.log(doc.id,=>,doc.data().userName)代码>?两个console.log将在每个查询中返回相同的快照。有时快照是正确的,有时快照是错误的。我可以点击端点,它将返回70条记录,我点击它一分钟后,它返回68条,我点击它一分钟后,它返回60条,然后再返回70条,以此类推。。。我找不到它返回不同快照的模式,有时它会连续多次返回同一快照。我100%确信Firestore中的数据在两次查询之间没有变化,似乎无法跟踪到这一次。