API

The following describes the object APIs that will build a connection to databases. All the method names that are present below are common to all Nosql database types.

Note

Some methods are specific to certain types of databases, so they will not be present in all objects.

Connection Objects

The Connection object creates a layer concerning the connection to the server. You can not specify any specific databases; in this way, the object will be used for the creation and management of all databases at the server level.

Connection attributes

connected

This read-only attribute contains a boolean value representing whether the connection has been established with the server.

Connection methods

close(*args, **kwargs)

Immediate closure of the connection and session with the database. Returns None.

connect(*args, **kwargs)

Create a persistent session with a specific database. Returns an object of type Session.

Attention

A valid Session object must necessarily be instantiated with a valid database name.

create_database(*args, **kwargs)

Create a single database. Returns an object of type Response.

has_database(*args, **kwargs)

Check if exists a single database. Returns an object of type Response.

delete_database(*args, **kwargs)

Delete of a single database. Returns an object of type Response.

databases(*args, **kwargs)

List all databases. Returns an object of type Response.

show_database(*args, **kwargs)

Show an information of a specific database. Returns an object of type Response.

Session Objects

The Session object represents the session to a database. With this object it is possible to operate directly on the data.

Warning

This object is derived from the connect() method of a Connection object. It is also possible to instantiate the session object through a connect function, but it will be mandatory to specify a database.

Session attributes

connection

Connection or other compliant object of server in current session

description

This read-only attribute contains the session parameters (can be str, tuple or dict).

item_count

This read-only attribute contains the number of object returned of an operations (must be int).

database

This read-only attribute contains the name of database in current session (must be str).

acl

This read-only attribute contains the Access Control List in the current session (must be tuple, dict or Response object).

indexes

This read-only attribute contains the name of indexes of the current database (must be tuple, dict or Response object).

Session methods

get(*args, **kwargs)

Get one or more data from specific database. Returns an object of type Response.

Attention

This is the letter R of CRUD operations.

insert(*args, **kwargs)

Insert one data on specific database. Returns an object of type Response.

Attention

This is the letter C of CRUD operations.

insert_many(*args, **kwargs)

Insert one or more data on specific database. Returns an object of type Response.

update(*args, **kwargs)

Update one existing data on specific database. Returns an object of type Response.

Attention

This is the letter U of CRUD operations.

update_many(*args, **kwargs)

Update one or more existing data on specific database. Returns an object of type Response.

delete(*args, **kwargs)

Delete one existing data on specific database. Returns an object of type Response.

Attention

This is the letter D of CRUD operations.

close(*args, **kwargs)

Close immediately current session. Returns None.

find(*args, **kwargs)

Find data on specific database with str selector or Selector object. Returns an object of type Response.

grant(*args, **kwargs)

Grant Access Control List on specific database. Returns an object of type Response.

revoke(*args, **kwargs)

Revoke Access Control List on specific database. Returns an object of type Response

new_user(*args, **kwargs)

Create new normal or admin user. Returns an object of type Response

set_user(*args, **kwargs)

Modify exists user or reset password. Returns an object of type Response

delete_user(*args, **kwargs)

Delete exists user. Returns an object of type Response

add_index(*args, **kwargs)

Add a new index to database. Returns an object of type Response

delete_index(*args, **kwargs)

Delete exists index to database. Returns an object of type Response

call(batch, *args, **kwargs)

Call a Batch object to execute one or more statement. Returns an object of type Response

Selector Objects

The Selector object represents the query string for find data from database. Once instantiated, it can be an input to the Session’s find method.

Selector attributes

selector

This read/write attribute represents the selector key/value than you want search.

fields

This read/write attribute represents the fields key that returned from find operations.

partition

This read/write attribute represents the name of partition/collection in a database.

condition

This read/write attribute represents other condition to apply a selectors.

order

This read/write attribute represents order returned from find operations.

limit

This read/write attribute represents limit number of objects returned from find operations.

Selector methods

build(*args, **kwargs)

Building a selector string in the dialect of a NOSQL language based on various property of the Selector object. Returns str.

Response Objects

The Response object represents the response that comes from an operation from the database.

Note

Response objects is a species of an either-data type, because contains both success and error values.

Response attributes

data

This read-only attribute represents the effective python data (Any) than returned from an operation from the database.

code

This read-only attribute represents a number code (int) of error or success in an operation.

This read-only attribute represents a str information (header) of an operation.

error

This read-only attribute represents a str or Exception object error of an operation.

dict

This read-only attribute represents a dict transformation of Response object.

Response methods

throw()

Raise exception stored in error property.

Batch Objects

The Batch object represents an aggregation of CRUD operations.

Batch attributes

session

This read/write attribute represents a Session object.

batch

This read/write attribute represents a batch operation.

Batch methods

execute(*args, **kwargs)

Executing a batch operation with position and keyword arguments. Returns tuple or an object of type Response