Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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 如何从firestore获取两个查询?_Javascript_Node.js_Google Cloud Firestore_React Redux - Fatal编程技术网

Javascript 如何从firestore获取两个查询?

Javascript 如何从firestore获取两个查询?,javascript,node.js,google-cloud-firestore,react-redux,Javascript,Node.js,Google Cloud Firestore,React Redux,我使用redux,想知道如何从firesotre获取和处理两个查询 export function getBlackList(data) { return (dispatch, getState) => { let db = loadFB().firestore(); let query = db.collection('users').where("report.total_point",">",0).orderBy("report.tot

我使用redux,想知道如何从firesotre获取和处理两个查询

export function getBlackList(data) {
    return (dispatch, getState) => {

        let db = loadFB().firestore();
        let query = db.collection('users').where("report.total_point",">",0).orderBy("report.total_point","asc");
        return query.get().then(docs=>{
            let result = [];

            console.log(result);

            docs.forEach(doc=>{
                let user = doc.data();
                user.id = doc.id;
                result.push(user);
            })
            dispatch({
                type: types.SET_USER_LIST,
                data: result,
                page : 1
            })


        })
    }
}
通过上面提供的代码,组件通过分派进行处理

我得到一个查询,但我想知道如何得到这两个查询值​​把它们放在一起分类

db.collection('users').where("memo",">","0").orderBy("memo","asc");
有没有办法用“承诺一切”来解决这个问题


期待一个好的解决方案。

您的查询将返回多个项目。如果需要,可以使用
映射
排序

然后,我觉得调度redux的电话没问题

query.get().then(docs => {
  const users = docs.map(doc => ({
    id: doc.id,
    ...doc.data(),
  }));
  // .sort(...)

  dispatch({
    type: types.SET_USER_LIST,
    data: users,
    page: 1,
  });
});
无法使用从同一集合中查询两个值,Promise.all用于从集合组[不同集合]检索数据,而不是从单个集合检索数据

要进行查询,请使用以下代码:

let query: db.collection('users').where("memo",">","0").where("memo2","<","3");
query.orderBy("memo","asc");