【问题标题】:How to order data based on a parameter in firestore?如何根据firestore中的参数对数据进行排序?
【发布时间】:2019-04-19 16:38:10
【问题描述】:

我在根据参数排序数据时遇到问题。下面是代码sn-p。

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的渲染方法。

【问题讨论】:

    标签: javascript android firebase react-native google-cloud-firestore


    【解决方案1】:

    默认情况下,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() 都会生成一个时间戳

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      相关资源
      最近更新 更多