[英]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.