如何从按属性值排序的Firebase / Firestore获取文档

时间:2017-12-27 19:38:56

标签: javascript reactjs firebase google-cloud-firestore

我在"类别中有6个文件"集合看起来像:

{
  color: "#eee",
  index: 6,
  name: "Restaurants",
}

我想检索由index属性排序的这些文档,从最少到最多排序。我能够获得所有文件,但我不确定如何按索引订购结果。我也不确定是否应该从Firestore查询它们,然后只在客户端上订购它们。

今天我的查询如下:

var db = firebase.firestore();    
db.collection("categories").get().then((querySnapshot) => {
      let categories = []
      querySnapshot.forEach((doc) => {
        categories.push(doc.data())
      });
      this.setState({categories: categories});
    });

谢谢!

1 个答案:

答案 0 :(得分:1)

你好astrojams1很棒的问题。修改您的查询:

db.collection("categories").orderBy("index")
  .get()
  .then((querySnapshot) => {
    let categories = []
    querySnapshot.forEach((doc) => {
      categories.push(doc.data())
    });
    this.setState({categories: categories});
  });