如何从 golang(go 语言)程序创建/删除 mongoDB 数据库和集合。?

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 服务器上的数据库。但是我们能不能写一个与这个类似的函数,它会创建/删除一个数据库和一些集合。


func HandleDatabases(){

// for deleting / creating / managing mongoDB databases and collections ?

}


尚方宝剑之说
浏览 93回答 1
1回答

慕姐8265434

使用 MongoDB,数据库和集合在使用之前不需要存在。您可以对不存在的数据库和集合运行查询,这不会导致错误,但显然不会返回任何文档。将文档插入不存在的数据库和/或集合时,将自动创建数据库和/或集合。要删除数据库,只需使用该Database.Drop()方法。要删除一个集合,只需使用该Collection.Drop()方法。如果您希望它使用非默认的特殊属性创建,您只需要在使用它之前创建一个集合。为此,您可以使用Database.CreateCollection().要找出服务器上已经存在哪些数据库,您可以使用Client.ListDatabases()orClient.ListDatabaseNames()方法。要找出数据库中已经存在哪些集合,您可以使用Database.ListCollections()orDatabase.ListCollectionNames()方法。
打开App,查看更多内容
随时随地看视频慕课网APP