Firebase Firestore模拟器未更新文档查询。

3

使用Firestore模拟器和JavaScript客户端时,我无法看到更新。情况如下:

  1. 我有一个现有的文档集合,并进行查询以获取该集合。一切都按预期工作。

  2. 我更新了集合(通过代码或手动通过模拟器Web UI添加、删除或更新文档)。

  3. 我查询该集合。无论我做什么,我都看不到更新,只能看到第一次查询的结果。唯一能看到更新的方法是重新启动模拟器。

在不使用模拟器时,这很正常。

考虑到模拟器强制从缓存中读取,我尝试使用getDocsFromServer方法强制从服务器获取,但没有成功。

我搜索了与模拟器相关的已知问题,但没有找到此问题的参考。非常感谢任何帮助。


你可能正在写入错误的数据库。请包括您用于启动模拟器的命令以及查询集合的代码(包括connectToEmulator调用)。如果在emulators:start命令中未指定项目,请还要检查“firebase use”。 - Chris
1个回答

0

这可能发生在你切换了 firebase-tools 中的 Firebase 项目,却忘记切换回来时。

请检查以下输出内容:

firebase projects:list

并在初始化脚本中将其与客户端上的PROJECT_ID进行比较:

firebase.initializeApp({
  apiKey: "AIza....",                             
  appId: "1:27992087142:web:ce....",              
  projectId: "PROJECT_ID",               
  authDomain: "YOUR_APP.firebaseapp.com",         
  databaseURL: "https://YOUR_APP.firebaseio.com", 
  storageBucket: "YOUR_APP.appspot.com",          
  messagingSenderId: "123456789",                 
  measurementId: "G-12345"                        
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接