typescript - 使用 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;
});
}
任何帮助都是极好的!
解决方案
有关如何订购和限制数据的信息,请参阅 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 数据类型重新保存它。
推荐阅读
- vhdl - 编译
.vhd 失败,出现 1 个错误 - c# - 控制台应用程序中 Observable 的 LastAsync() 死锁
- git - Git fetch 产生不一致的远程分支列表
- c# - Unity 中类实例的 NullReferenceException 错误
- xslt - xpath 或 xslt (1.0) 查找网格中任意长度块的最大行数
- azure - 使用逻辑应用配置中的高级工具通过 SSH 连接到 Azure 逻辑应用
- javascript - 如何更改点击反应js的背景颜色?
- oracle - Oracle ORDS REST - 如何在 PL/SQL 模式下返回处理程序的集合查询?
- flutter - 如何根据文本字段更改按钮文本?
- php - Laravel 5.8 - 时区环境变量