Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction


Databases in SOAJS are dynamic Registry entries. Each database is linked to a cluster and altogether form up the configuration that the database client connector needs to establish and maintain the database connection.


Objective


  1. Manage Databases
  2. Prefix
  3. Session 
  4. Connecting to a Database



Manage Databases 
Anchor
manageDatabases
manageDatabases


This modules provides wizards to create and manage databases entries inside the registry.

Managing databases is very easy with SOAJS, each database requires a name, the cluster it should use, an optional prefix and simply specify if it is a standalone or multitenant database.

Once

...

Created, SOAJS will provide the databases via the registry object at runtime: req.soajs.registry.

If you are using MongoDB as a database, you can use the SOAJS Mongo Client Driver and benefit from communicating with multitenant and standalone databases. Click here to learn more.

List DatabasesAdd New Database

...

Click on the Databases module and here you will be able to set a database prefix if you require one.

Image Removed

Then you can create the databases that your services/daemons will use.

Image Removed

...

Image Added

Image Added



Prefix 
Anchor
prefix
prefix


You can add a global prefix to your databases, by default the value is empty. When adding a database, if you leave the custom prefix empty, the database will get the global prefix.

If you enter a prefix, the prefix is automatically added to the database name when you request the registry information from SOAJS.

EX:

Prefix: test_

Database: myDatabase

Result:

Code Block
languagejs
titleDatabase entry in registry
linenumberstrue
{
	"test_myDatabase": {
		"prefix": "test_",
		"servers": [{
			"host": "127.0.0.1",
			"port": 27017
		}],
		"credentials": null,
		"streaming": {},
		"URLParam": {
			"connectTimeoutMS": 0,
			"socketTimeoutMS": 0,
			"maxPoolSize": 5,
			"wtimeoutMS": 0,
			"slaveOk": true
		},
		"registryLocation": {
			"l1": "coreDB",
			"l2": "myDatabase",
			"env": "dev"
		},
		"name": "myDatabase"
	}
}



Session 
Anchor
session
session


The session database has a different configuration since this database comes equipped with a store so you can save data and share it between the microservices deployed.

When creating a database, enter a custom prefix or leave empty to use the global prefix value.

In addition to the store and unlike normal database entries, session entries automatically expire after a period of time that is also configurable.

You can read more about session store on Express session store

Image Added


Connecting to a Database 
Anchor
connect
connect


Once a database has been created, you can connect to it in your code by fetching its entry from the Registry.

Grab the Database entry from the registry and pass it to your Client Driver. If your database is a MongoDB, you can use the SOAJS Mongo Client (examples available).