繁体   English   中英

使用 orderByChild Firebase 获取最新的帖子

[英]Using orderByChild Firebase to get most recent posts

我想根据“order_date”值对我的查询进行排序。 不幸的是,它以相反的顺序返回它们(最旧的订单在前)。 我也在尝试通过分页来实现这一点。 这是我当前的查询。

var orders = fbdatabase.ref('orders').orderByChild('order_date');
orders.on('value', function(snapshot) {
  console.log(snapshot.val())
});

无法使用 Firebase 以相反的顺序进行查询。 您需要使用limitToLast

var orders = fbdatabase.ref('orders')
  .orderByChild('order_date')
  .limitToLast(20);

orders.on('value', function(snapshot) {
  console.log(snapshot.val().reverse());
});

或者,您可以存储一个附加字段,如使用负值(假设时间戳)的order_date_desc

除了迈克尔的回答之外,您也没有在回调中保留订单。 在调用.val() snapshot.forEach()遍历快照很重要:

var orders = fbdatabase.ref('orders').orderByChild('inverted_order_date');
orders.on('value', function(snapshot) {
  snapshot.forEach(function(order) {
    console.log(order.val())
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM