Flutter & Firestore:如何首先获取最新的?

JK8*_*JK8 3 firebase flutter google-cloud-firestore

如何从 Firestore 获取最新的第一个?

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);
                });

Run Code Online (Sandbox Code Playgroud)

问题似乎出.where在使用 with 时.orderBy

Fra*_*len 6

如果您有一个createdAt带有时间戳的字段,或者一个始终递增的值,则可以使用以下命令按该字段的降序顺序获取快照:

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

另请参阅 FlutterFire 文档中有关该Query.orderBy方法的信息