surrealdb 0.6.0
surrealdb: ^0.6.0 copied to clipboard
SurrealDB client written in pure dart. Auto reconnect, Typed functions
SurrealDB Client For Dart & Flutter #
SurrealDB client for Dart and Flutter.
Quick Start #
import 'package:surrealdb/surrealdb.dart';
void main(List<String> args) async {
final client = SurrealDB('ws://localhost:8000/rpc');
client.connect();
await client.wait();
await client.use('test', 'test');
await client.signin(user: 'root', pass: 'root');
await client.create('person', TestModel(false, 'title'));
var person = await client.create('person', {
'title': 'Founder & CEO',
'name': {
'first': 'Tobie',
'last': 'Morgan Hitchcock',
},
'marketing': false,
});
print(person);
List<Map<String, Object?>> persons = await client.select('person');
final groupBy = await client.query(
'SELECT marketing, count() FROM type::table(\$tb) GROUP BY marketing',
{
'tb': 'person',
},
);
print(groupBy);
print(persons.length);
}
Features #
connect() #
Connects to a database endpoint provided in constructer and authenticate with token if provided in constructer.
close() #
Closes the persistent connection to the database.
wait() #
Ensures connections established with the database and pinged successfully.
ping() #
Closes the persistent connection to the database.
use(String namespace, String database) #
Switch to a specific namespace and database.
info() #
Retrieve info about the current Surreal instance
signup(String user, String pass) #
Signs up to a specific authentication scope
signin(String user, String pass) #
Signs in to a specific authentication scope
invalidate() #
Invalidates the authentication for the current connection
authenticate(String token) #
Authenticates the current connection with a JWT token
kill(String query) #
Kill a specific query
let(String key, String val) #
Assigns a value as a parameter for this connection
create(String thing, dynamic data) #
Creates a record in the database. data has to be json encodable object or class has toJson method.
Future<List<T>> select(String table) #
Selects all records in a table, or a specific record, from the database
query(String query, [Map<String, Object?>? vars]) #
Runs a set of SurrealQL statements against the database
update(String thing, [Object? data]) #
Updates all records in a table, or a specific record, in the database NOTE: This function replaces the current document / record data with the specified data.
change(String thing, [Object? data]) #
Modifies all records in a table, or a specific record, in the database NOTE: This function merges the current document / record data with the specified data.
modify(String thing, [Object? data]) #
Applies JSON Patch changes to all records, or a specific record, in the database NOTE: This function patches the current document / record data with the specified JSON Patch data.
delete(String thing) #
Deletes all records in a table, or a specific record, from the database