javascript - 如何根据firestore中的参数对数据进行排序?
问题描述
我在根据参数订购数据时遇到问题。下面是代码片段。
event_date 是一个timestamp
db.collection("abc")
.doc("Events")
.collection("List")
.where("event_status", "==", "0")
.orderBy("event_date", "desc").get()
.then(function (querySnapshot) {-------------------});
抛出的错误消息是,
未捕获的错误:对象作为 React 子项无效(发现时间:2018 年 11 月 25 日星期日 17:27:56 GMT+0530(印度标准时间))。如果您打算渲染一组子项,请改用数组或使用 React 附加组件中的 createFragment(object) 包装对象。检查 Table 的渲染方法。
解决方案
默认情况下,firebase 查询按文档 ID 的升序检索所有文档。您可以使用 指定数据的排序顺序orderBy()
。
在您的情况下.orderBy("event_date", "desc")
,如果您使用 firebase serverTimestamp() 设置字段“event_date”,例如:.set({event_date = firebase.firestore.FieldValue.serverTimestamp() })
您将收到上述错误。为了解决这个问题,您可以改为将其设置new Date()
为例如:.set({event_date = new Date() })
在 Firebase 中,firebase.firestore.FieldValue.serverTimestamp()
两者new Date()
都会产生时间戳
希望这可以帮助。
推荐阅读
- azure - 天蓝色流分析 System.Timestamp 以 BST 格式
- javascript - if 语句中的几个 sendReponse 由于 indexOf 错误而无法运行
- python - Python追加到数组和for循环
- java - 来自java spring中嵌入redis的ERR未知命令'GEOADD'
- javascript - React Native 中显示活动指示器时如何锁定所有屏幕的触摸?
- postgresql - Postgres(10.3) 权限问题
- php - 拆分平均评论 php
- java - 如何分析在 Cloud Foundry 上运行的 Spring Boot Web 应用程序的内存?
- php - 不带引号显示时间
- java - 在这种情况下,哪个语句将首先执行?