如何从 golang(go 语言)程序中 create/drop mongoDB 数据库和集合。?
How to create/drop mongoDB database and collections from a golang (go language) program.?
func DatabaseConnect() (db *mongo.Database, err error) {
ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
defer cancel()
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))
if err != nil {
return
}
db = client.Database("students")
return
}
上述函数连接到 mongoDB 服务器上已经存在的数据库。但是我们能不能为这个写一个类似的函数,它将 create/drop 一个数据库和一些集合。
func HandleDatabases(){
// for deleting / creating / managing mongoDB databases and collections ?
}
使用 MongoDB,数据库和集合在使用前不需要存在。
您可以 运行 查询 non-existing 数据库和集合,这不会导致错误,但显然不会 return 任何文档。将文档插入 non-existing 数据库 and/or 集合时,将自动创建数据库 and/or 集合。
要删除数据库,只需使用 Database.Drop()
method. To drop a collection, simply use the Collection.Drop()
方法。
如果您希望创建具有 non-default 特殊属性的集合,则只需在使用前创建一个集合。为此,您可以使用 Database.CreateCollection()
.
要找出服务器上已经存在哪些数据库,您可以使用 Client.ListDatabases()
or Client.ListDatabaseNames()
方法。
要找出数据库中已经存在哪些集合,您可以使用 Database.ListCollections()
or Database.ListCollectionNames()
方法。
func DatabaseConnect() (db *mongo.Database, err error) {
ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
defer cancel()
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))
if err != nil {
return
}
db = client.Database("students")
return
}
上述函数连接到 mongoDB 服务器上已经存在的数据库。但是我们能不能为这个写一个类似的函数,它将 create/drop 一个数据库和一些集合。
func HandleDatabases(){
// for deleting / creating / managing mongoDB databases and collections ?
}
使用 MongoDB,数据库和集合在使用前不需要存在。
您可以 运行 查询 non-existing 数据库和集合,这不会导致错误,但显然不会 return 任何文档。将文档插入 non-existing 数据库 and/or 集合时,将自动创建数据库 and/or 集合。
要删除数据库,只需使用 Database.Drop()
method. To drop a collection, simply use the Collection.Drop()
方法。
如果您希望创建具有 non-default 特殊属性的集合,则只需在使用前创建一个集合。为此,您可以使用 Database.CreateCollection()
.
要找出服务器上已经存在哪些数据库,您可以使用 Client.ListDatabases()
or Client.ListDatabaseNames()
方法。
要找出数据库中已经存在哪些集合,您可以使用 Database.ListCollections()
or Database.ListCollectionNames()
方法。