从消防仓库查询某些数据时遇到问题



我在类似的fireStore中担任安全角色

allow read: if resource.data.uid == request.auth.uid;

我正在尝试像这个一样获取数据

export function GetPatients(limit) {
return async (dispatch) => {
await firebase
.firestore()
.collection("patients")
.doc(firebase.auth().currentUser.uid)
.collection("patient")
.orderBy("creation", "desc")
.where("uid", "==", firebase.auth().currentUser.uid && "importent" ,"==" ,true)
.limit(limit)
.onSnapshot((result) => {
let Patients = result.docs.map((doc) => {
const data = doc.data();
const id = doc.id;
return { id, ...data };
});
lastPatient = result.docs[result.docs.length - 1];
dispatch({ type: GET_PATIENTS, Patients });
});
};
}

我需要更改角色吗?或者查询数据的方式有问题吗?

我得到的错误是

快照侦听器错误:FirebaseError:缺少或权限不足。–

这不是向查询添加多个条件的方式:

.where("uid", "==", firebase.auth().currentUser.uid && "importent" ,"==" ,true)

相反,为每个条件调用where一次。因此:

.where("uid", "==", firebase.auth().currentUser.uid)
.where("importent" ,"==" ,true)

最新更新