Firestore数据获取顺序错误

时间:2019-02-11 10:42:11

标签: javascript angular firebase google-cloud-firestore angular6

我正在使用角度6从Firestore中获取数据。 我有一个名为用户的集合,该集合的每个文档都包含用户信息,每个用户可以具有“管理员”,“ ASM”或“推销员”这三个用户角色之一。我使用company_code作为过滤器。 现在,当我获取数据时,仅获取所有company_code的管理员,然后在一段时间后获取所有其他用户。 有人可以告诉我我在做什么错

getAllUsers(companycode){
    this.afs.collection('users',ref=>ref
    .where("company_code","==",companycode))
    .snapshotChanges().pipe()
    .map(res=>res.map(res=> res.payload.doc.data()))
    .subscribe(res=>{
         console.log(res)
    });
}

2 个答案:

答案 0 :(得分:1)

步骤1。创建一个timestamp字段或precedence来引用您的订单。

第2步。在查询中添加orderBy

getAllUsers(companycode) {
    this.afs.collection('users', ref =>
      ref.where("company_code", "==", companycode).orderBy('timestamp')
    )
      .snapshotChanges().pipe()
      .map(res => res.map(res => res.payload.doc.data()))
      .subscribe(res => {
        console.log(res)
      });
}

假设您正在使用angularfire2

答案 1 :(得分:0)

要获取所有公司用户,请删除此行  .where(“ company_code”,“ ==”,companycode)

要获取所有公司销售人员,请使用  .where(“ comoany_code”,“ ==”,“推销员”