设置一个新项目,我想为test,dev和prod建立单独的数据库:
d:/mongodb/project/test
d:/mongodb/project/dev
d:/mongodb/project/prod
我用mongod --dbpath d:/monodb/project/<env>
当我尝试连接时,我得到Error: More than 1 database name in URL
const { MongoClient } = require('mongodb')
MongoClient.connect('mongodb://localhost:27017/project/dev')
api文档中给出的示例没有多大帮助
var MongoClient = require('mongodb').MongoClient,
test = require('assert');
// Connection url
var url = 'mongodb://localhost:27017/test';
// Connect using MongoClient
MongoClient.connect(url, function(err, db) {
网址连接的正确规范是什么? (或者,如果我完全以错误的方式解决这个问题,那么将数据库分开进行测试的最佳方法是什么?)
答案 0 :(得分:0)
您可以按照文档中的说明使用此驱动程序连接到mongodb: http://mongodb.github.io/node-mongodb-native/2.2/quick-start/quick-start/
所以你在那里的网址是正确的。
如果您想拥有单独的数据库(也可能位于具有不同凭据的不同主机上),那么我建议您使用配置包: https://www.npmjs.com/package/config
这允许您为每个环境定义一个配置,如果环境变量无法与json文件匹配,则default将是一个catch all。换句话说, NODE_ENV = prod 将映射到 prod.json , NODE_ENV = test 将映射到 test.json 和 NODE_ENV = [empty] 将映射到 default.json 。这是一种可能的设置。
您绝对不希望为每个环境创建多个连接。这不是必要的。