Firebase 从firestore获取数据时出错:查询无效
我正在尝试从firestore获取数据。我已为集合组设置了组合索引,但返回了查询错误。将查询链接到Firebase 从firestore获取数据时出错:查询无效,firebase,react-native,expo,Firebase,React Native,Expo,我正在尝试从firestore获取数据。我已为集合组设置了组合索引,但返回了查询错误。将查询链接到时出错。where('createdBy','!=',user)和。orderBy('createdOn','desc')在一起 export const getJobs = () => { return (dispatch) => { const user = firebase.auth().currentUser.uid; firebase
时出错。where('createdBy','!=',user)
和。orderBy('createdOn','desc')
在一起
export const getJobs = () => {
return (dispatch) => {
const user = firebase.auth().currentUser.uid;
firebase
.firestore()
.collectionGroup('userPosts')
.where('createdBy', '!=', user)
.orderBy('createdOn', 'desc')
.get()
.then((querySnapshot) => {
console.log(querySnapshot);
const posts = querySnapshot.docs.map((doc) => doc.data());
dispatch({ type: GET_JOBS, payload: posts });
})
.catch((error) => {
alert(error);
});
};
};
firebase
.firestore()
.collectionGroup('userPosts')
.where('createdBy', '==', user)
.orderBy('createdOn', 'desc')
.get()
.then((querySnapshot) =>
这是我得到的错误:
未捕获的FirebaseError:查询无效。在字段“createdBy”上有一个带不等式(=)的where筛选器,因此还必须使用“createdBy”作为查询.orderBy()的第一个参数,但第一个orderBy()位于字段“createdOn”上
当我同时查询时,没有出现错误,收到了正确的响应。where('createdBy','=',user)
和。orderBy('createdOn','desc')
export const getJobs = () => {
return (dispatch) => {
const user = firebase.auth().currentUser.uid;
firebase
.firestore()
.collectionGroup('userPosts')
.where('createdBy', '!=', user)
.orderBy('createdOn', 'desc')
.get()
.then((querySnapshot) => {
console.log(querySnapshot);
const posts = querySnapshot.docs.map((doc) => doc.data());
dispatch({ type: GET_JOBS, payload: posts });
})
.catch((error) => {
alert(error);
});
};
};
firebase
.firestore()
.collectionGroup('userPosts')
.where('createdBy', '==', user)
.orderBy('createdOn', 'desc')
.get()
.then((querySnapshot) =>
当我设置单字段集合组索引并按如下方式分别查询时,也没有错误:
firebase
.firestore()
.collectionGroup('userPosts')
.where('createdBy', '!=', user)
.get()
.then((querySnapshot) => {
或