commit 6318845189918b434e4ac073f643aa52d340dae2 Author: arnaucode Date: Fri Jan 26 15:19:59 2018 +0100 drop databases diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b883f1f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.exe diff --git a/README.md b/README.md new file mode 100644 index 0000000..63f540a --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# rmMongodbDatabases + +simple Go code to drop databases in mongodb + +usage: +``` +./rmMongodbDatabases databasename1 databasename2 databasename3 +``` diff --git a/errors.go b/errors.go new file mode 100644 index 0000000..e997ec1 --- /dev/null +++ b/errors.go @@ -0,0 +1,9 @@ +package main + +import "log" + +func check(err error) { + if err != nil { + log.Println(err) + } +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..7aaaff4 --- /dev/null +++ b/main.go @@ -0,0 +1,56 @@ +package main + +import ( + "os" + + "github.com/fatih/color" + mgo "gopkg.in/mgo.v2" +) + +const mongoip = "127.0.0.1:27017" + +func main() { + session, err := getSession() + check(err) + + var databases []string + if len(os.Args) > 1 { + for i, arg := range os.Args { + if i > 0 { + databases = append(databases, arg) + } + } + } + for _, database := range databases { + db := getDatabase(session, database) + color.Yellow("delete database: " + database) + err := db.DropDatabase() + check(err) + } +} + +func getSession() (*mgo.Session, error) { + session, err := mgo.Dial("mongodb://" + mongoip) + if err != nil { + panic(err) + } + //defer session.Close() + + // Optional. Switch the session to a monotonic behavior. + session.SetMode(mgo.Monotonic, true) + + // Optional. Switch the session to a monotonic behavior. + session.SetMode(mgo.Monotonic, true) + + return session, err +} +func getDatabase(session *mgo.Session, database string) *mgo.Database { + + D := session.DB(database) + return D +} +func getCollection(session *mgo.Session, database string, collection string) *mgo.Collection { + + c := session.DB(database).C(collection) + return c +} diff --git a/rmMongodbDatabases b/rmMongodbDatabases new file mode 100755 index 0000000..61ce838 Binary files /dev/null and b/rmMongodbDatabases differ