首页 > 解决方案 > 同一个 API 中有多个 Mongo 端点

问题描述

我的NodeJS应用程序具有带有文本输入字段(用于搜索)和用于 DEV、UAT 和生产数据库选项的下拉mongo的表单。

根据用户选择,必须访问相应的数据库。

我想知道如何在运行时动态处理/更改不同的数据库端点或更改节点环境?

标签: node.jsmongodb

解决方案


我想到的一种方法是断开连接并再次连接。如果您使用的是猫鼬,请执行以下操作:

   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');

然后根据用户选择选择要使用的连接。我更喜欢最后一个。

查看此答案以获取更多信息:

https://stackoverflow.com/a/32909008/7041393


推荐阅读