Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用where()查询的Firestore数据不会实时更新_Javascript_Reactjs_Google Cloud Firestore - Fatal编程技术网

Javascript 使用where()查询的Firestore数据不会实时更新

Javascript 使用where()查询的Firestore数据不会实时更新,javascript,reactjs,google-cloud-firestore,Javascript,Reactjs,Google Cloud Firestore,我的问题很简单。我正在使用where子句从firestore查询数据集合。数据仅在我在代码中点击save时加载,而不是在开始时加载 我的代码: db.collection('projects').where('projectid','in',shareids).onSnapshot(query => { let projects = [] query.forEach(doc => { projects.push(doc.data()) }) conso

我的问题很简单。我正在使用where子句从firestore查询数据集合。数据仅在我在代码中点击save时加载,而不是在开始时加载

我的代码:

db.collection('projects').where('projectid','in',shareids).onSnapshot(query => {
  let projects = []
  query.forEach(doc => {
    projects.push(doc.data()) 
  })   
  console.log(projects) //shows in console after editing my code (just add a space or anythign that changes the file - but does not display initially)   
})
奇怪的是,当使用doc()而不是where查询集合时,此问题不会发生,firestore数据会实时加载

此代码(实时加载):

是firestore的问题还是我的代码的问题


(将onSnapshot()替换为.get().then()也不起作用)

ShareID数组是否有问题

如果您尝试
。where('projectid','=','aSpecificId')

这可能会告诉您问题是否出在
.where
或在
中使用
和您的
共享ID
数组上

自《基本法》规定:

使用
中的
运算符将同一字段上最多10个相等(
=
)子句与逻辑的
组合。
查询中的
返回给定字段与任何比较值匹配的文档

例如:

citiesRef.where('country', 'in', ['USA', 'Japan']);
citiesRef.where('country', 'in', ['USA', 'Japan']);