我是node.js和mongoose的新手。
我正在尝试检查是否存在提供名称的数据库,
如果存在, 建立连接并使用相同的。
如果没有, 然后用一些集合创建数据库。
我正在使用mongoose,因为mongoose提供了3种方法来建立连接。我无法弄清楚哪个是最适合我的套件以及如何处理它们。
通过谷歌搜索,我成功地确定了使用createConnection是否存在数据库名称。
var Admin = mongoose.mongo.Admin;
var dbName='test';
/// create a connection to the DB
var connection = mongoose.createConnection('mongodb://localhost/' +dbName );
connection.on('open', function () {
// connection established
new Admin(connection.db).listDatabases(function (err, result) {
console.log('listDatabases succeeded');
for (var i in result.databases) {
if (result.databases[i].name == dbName) {
mongoose.connect('mongodb://localhost/' + dbName);
next();
break;
}
}
});
});
我在路由拦截器中编写了上面的代码,因此对于每个请求,如果给定的db名称已经存在,上面的代码将被执行并尝试连接到mongodb。
任何帮助都会非常明显......