6.1.1 • Published 2 years ago

loopback-connector-mongodb-mt v6.1.1

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

loopback-connector-mongodb-mt

A simple solution to use multitenant with MongoDB. This package is a fork from official MongoDB connector for the LoopBack framework.

Please see the full official documentation at loopback-connector-mongodb.

Installation

In your application root directory, enter this command to install the connector:

npm install loopback-connector-mongodb-mt --save

Creating a MongoDB data source

Use the Data source generator to add a MongoDB data source to your application.
The generator will prompt for the database server hostname, port, and other settings required to connect to a MongoDB database. It will also run the npm install command above for you.

The entry in the application's /server/datasources.json will look like this:

"mydb": {
  "host": "myserver",
  "port": 27017,
  "url":  "",
  "database": "admin",
  "password": "user_password",
  "tenant": "my_default_tenant",
  "tenantPrefix": "tenant_prefix_",
  "name": "mydb",
  "user": "user_with_root_role",
  "connector": "mongodb-mt"
}

PS:

  • User requires the root role in mongodb.
  • Tenant is the default tenant to connect if AccessToken not constains a tenant.
  • TenantPrefix is the tenant prefix, this is concatenate with tenant like this: settings.tenantPrefix + settings.tenant.

Change tenant

Tenant changes with AccessToken custom attribute named tenant. When user request with accesss.

Model methods

Use tenant with model methods require the AccessToken object in options of the method like this:

Model.find({where:{}}, {accessToken}, (err, instances) => {
  // ...
});

instance.save({accessToken}, (err) => {
  // ...
});

Autoupdate and Automigrate

Get the attribute connector of the datasource and call the method with AccessToken like:

dataSource.connector.autoupdate(myModelName, {accessToken}, (err) => {
  // ...
});

dataSource.connector.automigrate(myModelName, {accessToken}, (err) => {
  // ...
});
6.1.0

2 years ago

6.1.1

2 years ago

5.2.3

4 years ago

3.5.0

6 years ago

3.4.10

6 years ago

3.4.9

6 years ago

3.4.8

6 years ago

3.4.7

6 years ago

3.4.6

6 years ago

3.4.5

6 years ago

3.4.4

6 years ago

3.4.3

6 years ago