我正在遵循制作身份验证API的教程,它说我应该在每次插入我的数据的请求时连接到数据库,
这只是代码中的一小段。
exports.login = function (req, res) {
const { email, password } = req.body;
mongoose.connect(connUri, { useNewUrlParser: true }, (err) => {
let result = {};
if (!err) {
User.findOne({email}, (err, user) => {
if (!err && user) {
// the rest of function here
然后我在另一个功能上也做了同样的事情。
exports.add = (req, res) => {
console.log(connUri);
mongoose.connect(connUri, { useNewUrlParser: true }, (err) => {
let result = {};
if (!err) {
const email = req.body.email;
// the rest here
但是现在每当我发出请求时,我都会收到一条错误消息,提示您在连接时无法多次mongoose.connect()
。
经过一番谷歌搜索后,我理解了这个问题,而针对我的情况的最佳解决方案是制作一个全局mongoose.connect()
-但是,我将无法设置已经在这些函数检查中的err
回调。
有没有办法在保持当前代码结构不变的情况下做到这一点?