我正在通过JS代码中的以下语句使用collectionGroup查询:
const matchingSections = await db.collectionGroup("classSections")
.where("sectionJoinCode", "==", sectionJoinCode).get();
它工作了一段时间,然后突然停止工作了。结果的docs属性以空数组形式返回,即使给出的有效值肯定存在于db中也是如此。
在测试和控制台记录各种事情时,它突然又开始工作了。我从未真正更改过发出收集组查询的代码。我只是在各个地方进行刷新和console.logging。好像垃圾邮件索引导致它“醒来”,或者类似的事情,有点像lambda冷启动。
我确定代码不会更改,因为我在本地制作了那些console.log语句,并且该应用程序的实际部署版本(部署到Cloudfront)也开始工作。在实时版本中,相同的以编程方式生成的查询在突然开始工作之前就无法使用。因此,我不只是无意中修复了该问题,而且collectiongroup查询也发生了一些事情。
这是已知的和预期的行为,还是我刚中了某种彩票?如果知道,如果该应用程序一个月不使用,该怎么办才能缓解该问题(教育性应用程序在暑假期间很容易被停用)。
感谢阅读!