Javascript 使用where()查询的Firestore数据不会实时更新
我的问题很简单。我正在使用where子句从firestore查询数据集合。数据仅在我在代码中点击save时加载,而不是在开始时加载 我的代码: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
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']);