【问题标题】:Limit the number of collection().get()限制collection().get()的数量
【发布时间】:2026-01-05 21:35:01
【问题描述】:

目标

限制FirestpreFirebase.instance.collection().where().get()检索到的文档数量

我做了什么

目前,以下代码检索所有符合条件的文档。

FutureBuilder(
  future: FirebaseFirestore.instance
               .collection("users")
               .where('type', arrayContainsAny: _types)
               .get(),
  builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
        ............
  }

当然,获取所有文档并仅显示其中一部分似乎很容易,但这不仅会消耗不必要的网络,还会增加传输成本。

例如,我可以将我可以检索的最大文档数限制为 10 个吗?

【问题讨论】:

    标签: flutter dart google-cloud-firestore


    【解决方案1】:

    你确实可以限制结果的数量:

    FirebaseFirestore.instance
               .collection("users")
               .where('type', arrayContainsAny: _types)
               .limit(10) // <==
               .get(),
    

    另请参阅 limiting results 和等效的 Firebase documentation 上的 FlutterFire 文档。

    【讨论】: