Consultas
Os métodos de lista (listRows, listFiles, list de usuários e de times…) aceitam queries: uma lista montada com a classe Query. As condições se somam (E lógico).
import { Query, TablesDB } from '@owbase/web';import { client } from './client';
const db = new TablesDB(client);
const { rows, total } = await db.listRows({ databaseId: 'loja', tableId: 'pedidos', queries: [ Query.equal('status', ['pago', 'enviado']), Query.greaterThan('total', 100), Query.orderDesc('$createdAt'), Query.select(['$id', 'cliente', 'total', 'status']), Query.limit(20), ],});console.log(`${rows.length} de ${total} pedidos`);Os mais usados
Seção intitulada “Os mais usados”| Para | Query. |
|---|---|
| igual a um valor ou a um de vários | equal('status', 'pago'), equal('status', ['pago', 'enviado']) |
| diferente | notEqual(coluna, valor) |
| maior, menor | greaterThan, greaterThanEqual, lessThan, lessThanEqual |
| intervalo | between('total', 100, 500) |
| texto | startsWith, endsWith, contains, search (este exige índice de texto) |
| vazio ou preenchido | isNull(coluna), isNotNull(coluna) |
| OU entre condições | or([Query.equal(…), Query.equal(…)]) |
| ordenar | orderAsc(coluna), orderDesc(coluna) |
| escolher colunas | select(['$id', 'total']) |
| paginar | limit(n), offset(n), cursorAfter(id) (Paginação) |
Limites e desempenho
Seção intitulada “Limites e desempenho”- Até 100 consultas por pedido, cada uma com até 4096 caracteres.
- Filtro e ordenação em tabela grande pedem índice na coluna (Banco).
selectdiminui a resposta: traga só as colunas que a tela usa.