【问题标题】:Flutter - How to sort retrieved lists using timestamp from Firebase Real-time databaseFlutter - 如何使用 Firebase 实时数据库中的时间戳对检索到的列表进行排序
【发布时间】:2020-09-07 13:57:48
【问题描述】:

我想使用时间戳从 Firebase 实时数据库中以降序方式对列表进行排序,但我找不到这样做的方法。我已经尝试了很多东西,但它们都不起作用。请帮忙..

 void initState() {
    super.initState();
    DatabaseReference productsRef = FirebaseDatabase.instance
        .reference()
        .child("Products");

    productsRef.once().then((DataSnapshot snap) {
      var KEYS = snap.value.keys;
      var DATA = snap.value;

      _bidBundlesList.clear();

      for (var individualKey in KEYS) {
        BidBundle bidBundle = new BidBundle(
            DATA[individualKey]['imageSrc'],
            DATA[individualKey]['productName'],
            DATA[individualKey]['productCat'],
            DATA[individualKey]['finalPrice'],
            DATA[individualKey]['startingPrice']);

        _bidBundlesList.add(bidBundle);
      }

      setState(() {
        this._bidBundlesList = _bidBundlesList;
      });
    });
  }

【问题讨论】:

    标签: firebase flutter firebase-realtime-database


    【解决方案1】:
     FirebaseDatabase.instance
            .reference()
            .child('path')
            .orderByChild('timestamp')
            .onChildAdded
            .listen((Event event) {
          print(event.snapshot.value);
        })
    

    【讨论】:

    • 感谢您的回答 @user3529601,但我想这是针对云 Firestore 的。我想要的是 firebase 实时数据库。
    • 你试过这个一样吗?,我发现你也可以使用 orderByChild(),orderByKey(),orderByValue(),我编辑我的答案
    • 是的,我已经尝试过了,但它对我不起作用。我现在已经添加了我的代码 sn-p。
    猜你喜欢
    • 1970-01-01
    • 2019-05-04
    • 2021-03-16
    • 2019-08-09
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    相关资源
    最近更新 更多