Javascript 使用Node JS驱动程序删除多个Mongo数据库
我能够使用NodeJS驱动程序删除数据库 但问题是,在删除数据库之前,我必须连接到数据库,如下所示:Javascript 使用Node JS驱动程序删除多个Mongo数据库,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我能够使用NodeJS驱动程序删除数据库 但问题是,在删除数据库之前,我必须连接到数据库,如下所示: var MongoClient = require('mongodb').MongoClient; var databaseName = 'myMongoDatabaseName' var connStr = 'mongodb://localhost:27017/' + databaseName; MongoClient.connect(connStr, function(err, db) {
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();
});
});
var MongoClient=require('mongodb')。MongoClient;
MongoClient.connect('mongodb://localhost:27017/,函数(err,db){
db.admin().listDatabases().then(函数(dbs){
//抓取数据库
dbs=dbs.databases;
对于(var i=0;i
我的问题是,如果我有10个数据库,那么每次我都必须连接到数据库并删除它(对10个数据库重复)
它们的方式是否类似于连接到root(不指定任何数据库名称)并使用特定的数据库名称删除数据库 您可以使用构造函数使用名称创建数据库实例,连接到它并调用实例的方法,所有这些都在循环中完成。这个概念可以用 类似于以下实现(警告:未测试!):
var mongodb=require('mongodb'),
MongoClient=mongodb.MongoClient,
服务器=新的mongodb.server(“127.0.0.1”,27017),
url='1〕mongodb://localhost:27017/';
var dropAllDatabases=函数(回调){
连接(url,函数(err,db){
如果(错误)回调(错误);
db.admin().listDatabases().then(函数(dbs){
//抓取数据库
dbs=dbs.databases;
对于(var i=0;i
在文档中,它说dropDatabase用于删除当前连接的数据库,没有其他cmd用于删除数据库。然后您可能需要循环10个数据库,连接到每个数据库并删除它。不要对无法在浏览器中运行的代码使用代码段。@royhowie,对不起,我接受Node JS代码不能在浏览器中运行。我将尝试在其他地方发布节点代码。但是,您能告诉我,如何在Valijon编辑我的文章时添加代码片段。@user3278897复制代码并将其粘贴到编辑器中,然后高亮显示,然后按command(如果在Mac上)或control(windows)K,这将使代码每行缩进四个空格。在粘贴到编辑器之前,您还可以手动将代码缩进,每样多加四个空格。@royhowie,我不知道我可以添加这样的注释,如“谢谢”。你的建议适合我的新问题。它的格式很完美。我对你的评论投了赞成票。
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();
});
});
};