drop databases
arnaucode arnaucode@gmail.com
Fri, 26 Jan 2018 15:19:59 +0100
5 files changed,
74 insertions(+),
0 deletions(-)
A
README.md
@@ -0,0 +1,8 @@
+# rmMongodbDatabases + +simple Go code to drop databases in mongodb + +usage: +``` +./rmMongodbDatabases databasename1 databasename2 databasename3 +```
A
errors.go
@@ -0,0 +1,9 @@
+package main + +import "log" + +func check(err error) { + if err != nil { + log.Println(err) + } +}
A
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 +}