4
在我的項目中有很多數據庫,其中一個是masterDb,另一個是基於masterDb的數據庫連接。例如,在驗證頁面中,用戶可以輸入'公司ID',可以使用masterDb檢查'公司ID',如果存在ID,則返回特定公司的數據庫名稱。使用我想連接到特定公司數據庫的數據庫名稱。如何使用貓鼬動態連接多個mongodb數據庫?
現在我可以成功登錄並獲取數據庫名稱。使用這個數據庫名稱(req.headers ['x-key-db'])我可以連接到特定的數據庫。但是在這裏我將數據庫連接代碼放在每個api調用中。有沒有其他的方法來創建一次,並動態地在每個API調用中使用它。
app.get('/api/student-limited/:_pageNumber/:_pageSize', function(req, res) {
\t \t
\t var db = mongoose.createConnection();
\t db.open('mongodb://localhost:27017/'+req.headers['x-key-db']);
\t var ClassSection = db.model('ClassSections', SectionSchema);
\t var Student = db.model('Students', StudentSchema);
\t
\t var _pageNumber = parseInt(req.params._pageNumber), _pageSize = parseInt(req.params._pageSize);
\t Student.find({}, function (err, _docs) {
\t \t if(_docs){
\t \t \t Student.find({}, null, {sort: { Name: 1} }).skip(_pageNumber > 0 ? ((_pageNumber-1)*_pageSize) : 0).limit(_pageSize).populate('_idClass').exec(function (err, docs) {
\t \t \t if(err)
\t \t \t \t res.json(err);
\t \t \t else
\t \t \t \t res.json({ "TotalCount" : _docs.length, "_Array" : docs});
\t \t });
\t }
\t });
});
謝謝您的回答。數據庫連接正常工作。 :) –
沒問題:)在這種情況下,你能接受我的答案嗎? – Raeesaa