2017-02-05 3 views
1

Я пытаюсь сделать приложение с несколькими арендаторами в MEAN, в зависимости от значения некоторой переменной, он должен выбрать пул соединений формы mongoDB и выполнить операции CURD в коллекции.Аренда в MEAN Application

var mongoose = require('mongoose'); 
var connectionPool = {}; 

connectionPool['dbName1'] = mongoose.createConnection('mongodb://localhost/database1'); 

connectionPool['dbName2'] = mongoose.createConnection('mongodb://localhost/database2'); 

connectionPool['dbName3'] = mongoose.createConnection('mongodb://localhost/database3'); 

Проблема связана с объектом, когда используется для работы CURD, не работает.

Ошибка -.. Db.collection (...) найти (...) Exec не является функцией

Спасибо.

ответ

1

Вы смешиваете API mongodb с mongoose.

Поскольку вы работаете с mongoose, вы можете создавать модели, прикрепленные к определенной связи:

https://stackoverflow.com/a/19475270/2013580

var conn  = mongoose.createConnection('mongodb://localhost/testA'); 
var conn2  = mongoose.createConnection('mongodb://localhost/testB'); 

// stored in 'testA' database 
var ModelA = conn.model('Model', new mongoose.Schema({ 
    title : { type : String, default : 'model in testA database' } 
})); 

// stored in 'testB' database 
var ModelB = conn2.model('Model', new mongoose.Schema({ 
    title : { type : String, default : 'model in testB database' } 
})); 
+0

Я пытался добавить арендатора динамически, есть способ сделать это? –

+0

@utkarshsharma вы можете делать все это динамически. Просто установите определение моделей в каждом соединении, создайте функцию, которая делает это на основе параметра соединения. – zurfyx

Смежные вопросы