为每个用户使用mongodb和mongoose分开数据库

我正在使用MongoDB和mongoose来处理我的数据库需求。 我目前有这样的:

mongoose.connect(secrets.db, {server:{poolSize: 1}}); mongoose.connection.on('error', function() { console.error('MongoDB Connection Error. Make sure MongoDB is running.'); }); 

作为我的mongo连接。 我想改变这一点,以便每个login(使用护照)的用户都有自己的数据库。 所以当我show dbs我想看到user_ObjectID_database_name如何修改我的代码来获得这个结果? 我想要它,因为我相信它从我的研究中更安全。 我不能find任何好的指导如何做到这一点。 我相信他们是存在的,但是我已经花了4个小时,甚至连一个我能猜到的半好的也没有运气。

目前我只有一个users集合。

这是我当前的代码,当用户点击/signupPOST请求时运行。

 exports.postSignup = function(req, res, next){ req.assert('email', 'Please sign up with a valid email.').isEmail(); req.assert('password', 'Password must be at least 6 characters long').len(6); var errors = req.validationErrors(); if (errors) { req.flash('errors', errors); req.flash('form', { email: req.body.email }); return res.redirect('/signup'); } // calls next middleware to authenticate with passport passport.authenticate('signup', { successRedirect: '/dashboard', // Select redirect for post signup failureRedirect: '/signup', failureFlash : true })(req, res, next); next(); }; 

我把这称为中间件,以保持它们的清洁。

编辑**

分片是一个更好的解决scheme的性能? 我知道这需要大量的设置和计划,但这可能是值得的吗? 唯一的问题是安全性…

       

网上收集的解决方案 "为每个用户使用mongodb和mongoose分开数据库"