Composables
useSurrealQuery
Execute SurrealQL queries with SSR-safe async data.
useSurrealQuery
Run a set of SurrealQL statements against the database with automatic SSR support. Results are automatically JSON-serialized for SSR payload transfer. Supports parameterized queries and reactive bindings.
Usage
app/pages/index.vue
<script setup lang="ts">
const { data } = await useSurrealQuery<[{ name: string, age: number }[]]>(
'SELECT * FROM users WHERE age > $min',
{ min: 18 },
)
</script>
With reactive bindings
app/pages/search.vue
<script setup lang="ts">
const search = ref('')
const { data } = await useSurrealQuery<[{ name: string }[]]>(
'SELECT * FROM users WHERE name CONTAINS $search;',
{ search },
{ watch: [search] },
)
</script>
Arguments
| Argument | Type | Description |
|---|---|---|
query | MaybeRefOrGetter<string> | The SurrealQL query string (reactive) |
bindings? | MaybeRefOrGetter<Record<string, MaybeRefOrGetter<unknown>>> | Query variable bindings (reactive) |
asyncDataOptions? | AsyncDataOptions | Options passed to useAsyncData |
Return type
Returns the same shape as useSurrealAsyncData, with data typed according to the generic parameter.