Server
useSurreal
Access the SurrealDB client in your Nitro server handlers.
Server useSurreal
The server-side useSurreal is auto-imported in your Nitro event handlers. It connects to the remote SurrealDB instance and optionally supports per-request sessions.
Basic usage
Without an event, it returns the shared Surreal client:
server/api/users.get.ts
export default defineEventHandler(async () => {
const client = await useSurreal()
return await client.select(new Table('users')).json()
})
With per-request sessions
Pass the H3Event to create an isolated session per request:
server/api/users.get.ts
export default defineEventHandler(async (event) => {
const session = await useSurreal(event)
return await session.select(new Table('users')).json()
})
When called with an event:
- The session mode is determined by
server.sessionconfig ('new'or'fork') - The
surrealdb:session:inithook is fired with the session and event
Return type
| Call | Return type |
|---|---|
useSurreal() | Promise<Surreal> |
useSurreal(event) | Promise<SurrealSession> |