【发布时间】:2019-02-22 10:39:43
【问题描述】:
我的 NodeJS 应用程序具有带有文本输入字段(用于搜索)的表单和用于 DEV、UAT 和生产数据库选项的下拉 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');
然后根据用户选择选择要使用的连接。 我更喜欢最后一个。
查看此答案了解更多信息:
【讨论】: