node.js - 无法创建多个 mongo 连接
问题描述
我正在按照教程制作身份验证 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
已经在这些函数检查中的回调。
有没有办法在保持当前代码结构不变的同时做到这一点?
解决方案
推荐阅读
- html - 电子邮件模板 - 内联部分未在 Outlook 中左右完全对齐
- c - sscanf 获取$变量
- pdf - 从 PDF 中手动提取结构化数据以生成训练集的工具
- javascript - 使用带有flask的html和js提交表单后,如何在所选字段中保留下拉值
- api - page_info 和 products.json 的问题
- sitecore - Sitecore 9.2 Helix ,如何使用栖息地基础层中存在的资产、SitecoreExtension 和依赖注入
- c - 当 i=1 和 v=4 的外部 if 为假时,如何执行内部 if 条件
- c - 有没有办法对此进行编码?我正在尝试编写将在周一周二、周三等显示的内容
- c# - 错误不会出现在控制台上
- thymeleaf - Thymeleaf - OnClick 提交按钮时加载表格