Подключение ко многим базам данных сразу в mongo/mongoose

Мы пытаемся подключиться к 1500 базам данных, используя mongoose, но слишком медленно, чтобы создать 1500 соединений с 1500 DB с помощью этой команды

mongoose.createConnection(url);

1500 DB находятся на одном сервере базы данных. для установления этих соединений потребовалось более 50 минут.

Есть ли способ уменьшить количество времени или есть способ подключения к 1500 DB сразу, поскольку они находятся на одном сервере?

1 ответ

Вы можете попробовать async:

'use strict';
const mongoose = require('mongoose'),
 async = require('async'),
 dbsUrl = [
 'mongodb://url1',
 //...
 'mongodb://url15000',
];
async.map(dbsUrl, (url, callback) => {
 let conn = mongoose.createConnection();
 conn.once('error', (err) => {
 callback(err);
 });
 conn.once('connected', () => {
 callback(null, conn);
 });
}, (err, dbs) => {
 //If a error happenned, it will callback immediately
 //Else, dbs will now be a array of connections
});

Я не знаю о производительности для такого количества соединений, хотя.

licensed under cc by-sa 3.0 with attribution.