स्पंदन और फायरस्टार: मैं सबसे हाल ही में कैसे प्राप्त करूं?

Nov 25 2020

मैं फायरस्टार से सबसे हाल ही में कैसे प्राप्त करूं?

FirebaseFirestore.instance.collection(Strings.factsText)
                .where(
                    Strings.category,
                    whereIn: [Strings.climateChange])
                    .orderBy('timestamp', descending: true)
                    .snapshots(),
               
                    ...
                  final factsDocs = snapshot.data.documents;
                  return FactsListContainer(factsDocs: factsDocs);
                });

इस मुद्दे के साथ .whereप्रयोग करते समय प्रतीत होता है .orderBy!

जवाब

2 FrankvanPuffelen Nov 25 2020 at 22:34

यदि आपके पास createdAtटाइमस्टैम्प के साथ एक क्षेत्र है, या अन्यथा हमेशा वेतन वृद्धि होती है, तो आप उस क्षेत्र के अवरोही क्रम में स्नैपशॉट प्राप्त कर सकते हैं:

stream: FirebaseFirestore.instance
  .collection(Strings.factsText)
  .orderBy('timestamp', descending: true)
  .where(
    Strings.category,
    whereIn: [Strings.climateChange])
    .snapshots(),

इसके अलावा Query.orderByविधि पर FlutterFire प्रलेखन देखें ।

1 SK7 Dec 21 2020 at 19:29

मैंने आखिर में फायरबेस कंसोल में एक इंडेक्स बनाकर इसे हल किया और यह पूरी तरह से काम करता है इसलिए अब मैं सबसे पहले नवीनतम प्राप्त कर रहा हूं।

अपने डेटाबेस में मैं एक नया इंडेक्स बनाने के लिए इंडेक्स में गया, अपना संग्रह नाम जोड़ा, और फिर उन क्षेत्रों के लिए जिन्हें मैंने 'श्रेणी' में जोड़ा - अवरोही और 'टाइमस्टैम्प' - अवरोही, क्लिक किया गया संग्रह और फिर इंडेक्स बनाएँ।