Mongoose use multi-database

In some cases you need to use multiple databases based on some conditions , for example we have English content database and Arabic content database

here is how to do that

first make connection to a default database

mongoose.connect('mongodb://localhost/default');

then in the model

//models/userModel.js

import mongoose, { Schema } from 'mongoose';

const userSchema = new Schema({
  name:String,
  age:Number,
});

const myDbEn = mongoose.connection.useDb('myDbEn');
const myDbAr = mongoose.connection.useDb('myDbAr');

const UserEnModel = myDbEn.model('user', userSchema);
const UserArModel = myDbAr.model('user', userSchema);

module.exports =  { UserEnModel, UserArModel };

in  our controller we check which database to use based on an env variable

//controllers/userController.js

const { UserEnModel, UserArModel } = require('./models/userModel');

if(env=='en'){
	UserModel = UserEnModel;
}else{
	UserModel = UserArModel;
}

UserModel.find({}).then((result)=>{
	console.log('users ', env, ':', users);
});