使用NodeJS驱动程序删除多个Mongo数据库
Drop multiple Mongo Databases using the Node JS Driver
我可以使用Node JS Driver Db class Method dropDatabase来dropDatabase。
但问题是,在删除数据库之前,我必须连接到数据库,如下所示:
var MongoClient = require('mongodb').MongoClient;
var databaseName = 'myMongoDatabaseName'
var connStr = 'mongodb://localhost:27017/' + databaseName;
MongoClient.connect(connStr, function(err, db) {
// Let's drop the database
db.dropDatabase(function(err, result) {
console.dir('we dropped the database ');
});
db.close();
});
我可以列出MongoDb中的所有数据库,只需连接到根目录如下:
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/', function(err, db) {
db.admin().listDatabases().then(function(dbs) {
// Grab the databases
dbs = dbs.databases;
for(var i = 0; i < dbs.length; i++) {
console.dir(dbs[i].name);
}
db.close();
});
});
我的问题是,如果我有10个数据库,那么每次我都必须连接到数据库并删除它(重复10个数据库)?
他们的方式类似于连接到根(不指定任何数据库名称)并使用特定的数据库名称删除数据库吗?
您可以使用Db()
构造函数使用名称创建数据库实例,连接到该实例并调用实例的dropDatabase()
方法,所有这些都在循环中完成。这个概念可以用类似于以下实现(警告:未经测试!):
var mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient,
server = new mongodb.Server("127.0.0.1", 27017),
url = 'mongodb://localhost:27017/';
var dropAllDatabases = function (callback) {
MongoClient.connect(url, function(err, db) {
if(err) callback(err);
db.admin().listDatabases().then(function(dbs) {
// Grab the databases
dbs = dbs.databases;
for(var i = 0; i < dbs.length; i++) {
console.dir(dbs[i].name);
new mongodb.Db(dbs[i].name, server, {}).open(function (error, client) {
if(error) callback(error);
// drop the database
client.dropDatabase(function(err, result) {
if(err) callback(err);
client.close();
});
});
}
db.close();
});
});
};
相关文章:
- Electron:Express.js服务器在Mongo数据库'It’准备好了
- 在不重构Mongo数据库的情况下,更新嵌入数组中的具有给定ID的对象
- 如何在使用任何其他数据库的同时,用javascript获取所有mongo数据库的列表
- 如何使用Angular Controller从Mongo数据库中获取数据
- React组件从Flux存储中呈现数据,但从Mongo数据库中提取数据时不呈现
- 在Meteor中删除Mongo数据库集合
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 检查 mongo 数据库中是否存在后期输入
- 使用 app.delete [express.js] 删除 mongo 数据库中的集合
- 导出 MONGO 数据库连接到模型.js文件
- 流星:在Mongo数据库查询上隐藏/显示模板
- 使用NodeJS驱动程序删除多个Mongo数据库
- 反应形式不;t更新mongo数据库
- 无法将数据推入mongo数据库中的当前对象
- 使用Javascript扫描Mongo数据库,并在字符串不相同时触发事件
- 如何检查mongo数据库中字段的值
- 通过.txt文件将json化的HTTP响应头导入Mongo数据库
- 不能添加模型到mongo数据库
- Meteor和Mongo数据库
- 在 NodeJS 中获取 Mongo 数据库中插入文档的_id