对数据进行排序和限制其数量
Cloud Firestore 提供了强大的查询功能,用于指定您要从集合中检索哪些文档。这些查询也可以与 get() 或 addSnapshotListener() 结合使用,如获取数据中所述。
对数据进行排序和限制其数量
默认情况下,查询会按文档 ID 以升序检索符合查询条件的所有文档。您可以使用 orderBy() 指定数据的排序顺序,并可使用 limit() 限制检索到的文档数量。如果您指定 limit(),其值必须大于或等于零。
例如,您可以通过以下代码查询按字母顺序排列的前 3 个城市:
Web
import { query, orderBy, limit } from "firebase/firestore";
const q = query(citiesRef, orderBy("name"), limit(3));
order_and_limit.js
Web
citiesRef.orderBy("name").limit(3);
test.firestore.js
Swift
注意:此产品不适用于 watchOS 和 App Clip 目标。
citiesRef.order(by: "name").limit(to: 3)
ViewController.swift
Objective-C
注意:此产品不适用于 watchOS 和 App Clip 目标。
[[citiesRef queryOrderedByField:@"name"] queryLimitedTo:3];
ViewController.m
Kotlin
citiesRef.orderBy("name").limit(3)
DocSnippets.kt
Java
citiesRef.orderBy("name").limit(3);
DocSnippets.java
Dart
final citiesRef = db.collection("cities");
citiesRef.orderBy("name").limit(3);
firestore.dart
Java
Query query = cities.orderBy("name").limit(3);
Query query = cities.orderBy("name").limitToLast(3);
QueryDataSnippets.java
Python
cities_ref = db.collection("cities")
query = cities_ref.order_by("name").limit_to_last(2)
results = query.get()
snippets.py
Python
cities_ref = db.collection("cities")
query = cities_ref.order_by("name").limit_to_last(2)
results = await query.get()
snippets.py
C++
cities_ref.OrderBy("name").Limit(3);
snippets.cpp
Node.js
const firstThreeRes = await citiesRef.orderBy('name').limit(3).get();
index.js
Go
query := cities.OrderBy("name", firestore.Asc).Limit(3)
query := cities.OrderBy("name", firestore.Asc).LimitToLast(3)
query.go
PHP
PHP
如需详细了解如何安装和创建 Cloud Firestore 客户端,请参阅 Cloud Firestore 客户端库。
$query = $citiesRef->orderBy('name')->limit(3);
query_order_limit.php
