无法在Firestore集合上使用.orderBy

时间:2019-01-28 10:18:25

标签: javascript angular google-cloud-firestore

我正在使用Firestore documentation。但是,我也使用Angular,所以不能仅仅复制和粘贴。如果我忽略了.orderBy,查询将返回数据。如果我包含.orderBy,它将返回一个空的承诺。

有人可以告诉我我的代码有什么问题吗?

async getAccounts() {
   return await this.db
    .collection("mas-accounts")
    .get()
    .orderBy("names.givenName")
    .then(querySnapshot => {
      querySnapshot.forEach(doc => {
        doc = doc.data();
        console.log(doc);
      });
    });
}

没有排序依据的结果样本:

names: {familyName: "Doe", givenName: "John"}
relations: {person: "Junior Blanks", type: "child"}

enter image description here

1 个答案:

答案 0 :(得分:1)

根据您的评论:

  

vs代码emmet在.get()和.collection()上提供了.orderBy选项,控制台没有给出错误,只是返回了一个空的Promise。

解决此问题的方法是在调用.orderBy("names.givenName")之前添加对get()函数的调用。