module-go-thingsdb

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2024 License: MIT Imports: 8 Imported by: 0

README

ThingsDB Module (Go)

ThingsDB module written using the Go language.

With this module you gain access other scopes. This works both on the same node as with a connection to another ThingsDB cluster.

Installation

Install the module by running the following command in the @thingsdb scope:

new_module('thingsdb', 'github.com/thingsdb/module-go-thingsdb');

Optionally, you can choose a specific version by adding a @ followed with the release tag. For example: @v0.1.0.

Configuration

The host is required and either a username & password or a valid token.

Property Type Description
host str (required) Address of the ThingsDB node.
port int (optional) Port of the node, defaults to 9200.
username str (optional) Username for authentication.
password str (optional) Password for the username.
token str (optional) Token for authentication (instead of username and password).
use_ssl bool (optional) Use SSL for the connection, default to false.
skip_verify bool (optional) Only for SSL, default to false.
nodes list (optional) List with additional nodes as {host: <NODE_ADDRESS>, port: <PORT>} where port is optional.

Example configuration:

set_module_conf('thingsdb', {
    host: 'localhost',
    username: 'admin',
    password: 'pass',
});

Exposed functions

Name Description
query Perform a query.
run Run a procedure.
query

Syntax: query(scope, code, vars)

Arguments
  • scope: The scope to run the query in.
  • code: The code for the query.
  • vars: Optional variable for the query.
Example:
thingsdb.query("//stuff", ".has(key);", {key: "example"}).then(|res| {
    res;  // response as "mpdata"
});
run

Syntax: run(scope, name, args)

Arguments
  • scope: The scope of the procedure.
  • name: Name fot the procedure to run.
  • args: Optional arguments as a list or thing for the procedure.
Example:
thingsdb.run("//stuff", "addition", {a: 4, b: 7}).then(|res| {
    res;  // response as "mpdata"
});

Documentation

Overview

ThingsDB module for communication with ThingsDB.

For example:

	// Create the module (@thingsdb scope)
	new_module('thingsdb', 'github.com/thingsdb/module-go-thingsdb');

	// Configure the module
	set_module_conf('thingsdb', {
	    username: 'admin',
	    password: 'pass',
     host: 'localhost',
     default_scope: '//stuff',
	});

	// Use the module
	thingsdb.query(".id()").then(|res| {
	    res;  // just return the response.
	});

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
⌂ 换网址