要解决Angularfire中Firestore查询不起作用的问题,可以尝试以下方法:
确保已正确安装和配置Angularfire和Firestore。
确保Firestore服务已正确注入到所需的组件中。例如,在组件的构造函数中注入Firestore:
import { AngularFirestore } from '@angular/fire/firestore';
constructor(private firestore: AngularFirestore) { }
例如,如果要查询名为“users”的集合中所有年龄大于18岁的文档,可以使用以下代码:
this.firestore.collection('users', ref => ref.where('age', '>', 18)).valueChanges().subscribe(data => {
console.log(data);
});
例如,以下规则允许任何用户读取名为“users”的集合中的文档:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read: if true;
}
}
}
this.firestore.collection('users', ref => ref.where('age', '>', 18)).valueChanges().subscribe(
data => {
console.log(data);
},
error => {
console.error(error);
}
);
通过检查错误信息,可以更好地了解查询失败的原因。
希望这些解决方法能帮助您解决Angularfire中Firestore查询不起作用的问题。