Server

useSurrealLocal

Access the local persistent SurrealDB Node engine on the server.

Server useSurrealLocal

Auto-imported server util that provides access to a locally persisted SurrealDB instance powered by @surrealdb/node. Typically used with the surrealkv:// protocol for persistent storage.

Basic usage

server/api/local.get.ts
export default defineEventHandler(async () => {
  const client = await useSurrealLocal()

  const [res] = await client.query('SELECT * FROM test;').json().collect(0)
  return res
})

With per-request sessions

server/api/local.get.ts
export default defineEventHandler(async (event) => {
  const session = await useSurrealLocal(event)

  const [res] = await session.query('SELECT * FROM test;').json().collect(0)
  return res
})

Configuration

nuxt.config.ts
export default defineNuxtConfig({
  surrealdb: {
    server: {
      local: {
        endpoint: 'surrealkv://./.data/db',
        session: 'new',
        connectOptions: {
          namespace: 'my_ns',
          database: 'my_db',
        },
      },
    },
  },
})

Return type

CallReturn type
useSurrealLocal()Promise<Surreal>
useSurrealLocal(event)Promise<SurrealSession>
Requires @surrealdb/node to be installed. The composable's local config is read from runtimeConfig.surrealdb.local.