Javascript 每次返回不同快照的函数中的Firestore查询

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

我试图在Firesbase函数中使用http请求来查询集合。我使用Postman来访问这个端点,每次运行它时,它都会在快照中返回不同数量的结果

我怀疑这是一个异步问题,在我记录快照时,快照可能没有完全返回。但是,我正在努力想办法,因为它已经在承诺中了。我可能在做一些愚蠢的事情(我对承诺还很陌生),但似乎无法追踪到这一点。有什么好处

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中的数据在两次查询之间没有变化,似乎无法跟踪到这一次。