如何通过其自动生成的ID订购文档? (Cloud Firestore)

时间:2019-12-30 23:44:06

标签: react-native pagination google-cloud-firestore

我一直在尝试找出如何按其ID升序或降序对文档进行排序(无关紧要),但是找不到解决方案。我已经找到了按时间戳排序的顺序,但是不想这样做,因为可以同时创建多个文档。

我需要通过自动生成的ID来订购文档,因为我正在实现分页:

retrieveMoreRestaurants = async () => {
        this.setState({
            refreshing: true,
        });
        var additionalQuery = await firebase.firestore().collection('restaurants')
            .orderBy('__name__')
            .startAfter(this.state.lastVisibleDiscount)
            .limit(this.state.limit)

        var documentSnapshots = await additionalQuery.get();
        var All = documentSnapshots.docs.map(document => document.data());
        var lastVisible = All[All.length - 1].res_id;
        this.setState({
            All: [...this.state.All, ...All],
            lastVisible: lastVisible,
            refreshing: false,
        });
};

1 个答案:

答案 0 :(得分:0)

official documentation所述:

  

默认情况下,查询按文档ID升序检索满足查询条件的所有文档。

基本上,如果您需要按照ID的升序排列它们,则应该实施默认查询。

您还可以在其他StackOverflow post中查看有关此主题的大量讨论。