首页 > 解决方案 > 使用 Firebase 订购

问题描述

我正在处理一个 Ionic 项目,当我想在屏幕上显示 firebase 文档时,我想按日期对它们进行排序,这是我收藏的每个文档中的日期类型字段:

这是我用来将 Firebase 文档引入我的应用程序的代码。

constructor(private aF: AngularFirestore, private aS: AuthServiceService) {
    this.aF.collection('orders', ref => ref.where('location', '==', 'Store Name Example')).valueChanges().subscribe( data => {
      this.userOrders = data;
    });

  }

任何帮助都是极好的!

标签: typescriptfirebaseionic-frameworkgoogle-cloud-firestore

解决方案


有关如何订购和限制数据的信息,请参阅 Firestore 文档:https ://firebase.google.com/docs/firestore/query-data/order-limit-data

constructor(private aF: AngularFirestore, private aS: AuthServiceService) {
    this.aF.collection('orders', ref => ref.where('location', '==', 'Store Name Example').orderBy('date'))
        .valueChanges()
        .subscribe( data => {
            this.userOrders = data;
        }
    );
}

为了能够订购日期,您必须在 Firestore 中存储 Timestamp 类型的字段:https ://firebase.google.com/docs/reference/js/firebase.firestore.Timestamp

如果您将日期存储在不可排序的字符串中,则无法对其进行排序。您可以订购以yyyymmdd格式或双格式存储的日期。

要解决它,您可以获取数据并使用 Timestamp 数据类型重新保存它。


推荐阅读