node.js - 同一个 API 中有多个 Mongo 端点
问题描述
我的NodeJS应用程序具有带有文本输入字段(用于搜索)和用于 DEV、UAT 和生产数据库选项的下拉mongo的表单。
根据用户选择,必须访问相应的数据库。
我想知道如何在运行时动态处理/更改不同的数据库端点或更改节点环境?
解决方案
我想到的一种方法是断开连接并再次连接。如果您使用的是猫鼬,请执行以下操作:
var mongoose = require('mongoose')
...
try {
mongoose.disconnect();
mongoose.connect(mongoURL);
catch (e) {
console.log(e);
}
每次并从用户输入中获取 mongoURL。
另一种方法是使用多个连接:
var mongoose = require('mongoose')
var conn = mongoose.createConnection('mongodb://localhost/db1');
var conn2 = mongoose.createConnection('mongodb://localhost/db2');
然后根据用户选择选择要使用的连接。我更喜欢最后一个。
查看此答案以获取更多信息:
推荐阅读
- django - 为什么Django可以处理多个请求?
- c++ - 我想知道如何填充基类然后派生类 C++
- javascript - 为什么 PHP 部分 Javascript 不能在 PHP 部分工作,但在 Html 部分工作正常?
- python - 使python输出打印并消失?
- r - 使用 R dplyr 汇总数据
- marklogic - 使用 xdmp:lock-acquire() 函数锁定文档时出现问题
- javascript - 通过 DOM 插入 JS 播放器失败
- uml - ERD 到类图
- mongodb - 为什么 Mongo 字符串比较将等效字符串读取为不等价?pymongo
- asp.net-core - 项目的目标是运行时“win7-x64”,但没有为“Microsoft.NETCore.App”包解析任何特定于运行时的包