0.0.1-beta.4 • Published 2 years ago

surrealdb v0.0.1-beta.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

SurrealDB Node.js

npm i surrealdb

Quick Start

surreal start --root user --pass user

ES6

import SurrealDB from 'surrealdb'

Node.js

const SurrealDB = require("surrealdb")
const Surreal = new SurrealDB('http://127.0.0.1:8000', {
  user: 'root',
  pass: 'root',
  database: 'test',
  namespace: 'test',
})

Guide

// Async
const Async = await Surreal.Query(`CREATE company:surrealdb SET name = 'SurrealDB', cofounders = [person:tobie, person:jaime];`)

// Promise
Surreal.Query(
  `CREATE company:surrealdb SET name = 'SurrealDB', cofounders = [person:tobie, person:jaime];`,
)
  .then((data) => {
    console.log(data)
  })
  .catch((err) => {
    console.log(err)
  })

Surreal Query Builder

import { SurrealQueryBuilder } from 'surrealdb'

  const SQB = new SurrealQueryBuilder()
    .UseDatabase('test')
    .UseNamespace('test')
    .DefineParam('username', 'John Doe')
    .AppendCreate('user', [
      {
        key: 'name',
        type: 'default',
        value: '$username',
      },
      {
        key: 'age',
        type: 'int',
        value: 18,
      },
      {
        key: 'friends',
        type: 'array',
        value: [
          {
            name: 'James',
            age: 17,
          },
          {
            name: 'Bob',
            age: 18,
          },
        ],
      },
    ])
    .WrapTransaction('COMMIT')
    .Combine(`# Your custom query\nSELECT * FROM user;`)
    .Finalize()

console.log(SQB.query) // OR SQB.Finalize()
BEGIN TRANSACTION;
LET $username = 'John Doe';
CREATE user SET name = $username, age = <int> 18, friends = [
  {
    name: 'James',
    age: 17
  },
  {
    name: 'Bob',
    age: 18
  }
];
COMMIT TRANSACTION;

NOTE: surrealdb is NOT affiliated with SurrealDB.