Modificateurs
Les modificateurs façonnent le résultat : tri, pagination et format de réponse.
Référence
| Méthode | Effet |
|---|---|
.order(col, { ascending }) | Trier les résultats |
.limit(n) | Retourner au maximum n lignes |
.range(from, to) | Découper les lignes par index (base 0, inclusif) |
.single() | Attendre exactement une ligne — erreur si 0 ou 2+ |
.maybeSingle() | Retourner une ligne ou null — erreur seulement si 2+ |
.count('exact' | 'planned' | 'estimated') | Inclure le nombre de lignes dans la réponse |
Exemples
// Pagination — page 2, 20 éléments par pageawait massi .from('posts') .select('*') .order('created_at', { ascending: false }) .range(20, 39)
// Attendre exactement une ligneconst { data: post, error } = await massi .from('posts') .select('*') .eq('id', postId) .single()// data est Post (pas Post[]), error est défini si introuvable
// Compter sans récupérer les lignesconst { count } = await massi .from('posts') .select('*', { count: 'exact', head: true })Notes
.single()définitPrefer: return=representationet valide le nombre. Si vous obtenez une erreur comme"JSON object requested, multiple (or no) rows returned", votre filtre n’est pas assez spécifique..range()envoieRange: from-toet retourne une réponse206 Partial Content. Utilisez-le pour toutes les UIs paginées.