loopback-connector-mongodb-mt
v6.1.1
Published
The unofficial MongoDB connector for the LoopBack framework.
Downloads
46
Maintainers
Readme
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) => {
// ...
});