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}上面的這個函數(shù)連接到一個已經(jīng)存在于 mongoDB 服務(wù)器上的數(shù)據(jù)庫。但是我們能不能寫一個與這個類似的函數(shù),它會創(chuàng)建/刪除一個數(shù)據(jù)庫和一些集合。func HandleDatabases(){// for deleting / creating / managing mongoDB databases and collections ?}
1 回答

慕姐8265434
TA貢獻1813條經(jīng)驗 獲得超2個贊
使用 MongoDB,數(shù)據(jù)庫和集合在使用之前不需要存在。
您可以對不存在的數(shù)據(jù)庫和集合運行查詢,這不會導(dǎo)致錯誤,但顯然不會返回任何文檔。將文檔插入不存在的數(shù)據(jù)庫和/或集合時,將自動創(chuàng)建數(shù)據(jù)庫和/或集合。
要刪除數(shù)據(jù)庫,只需使用該Database.Drop()
方法。要刪除一個集合,只需使用該Collection.Drop()
方法。
如果您希望它使用非默認(rèn)的特殊屬性創(chuàng)建,您只需要在使用它之前創(chuàng)建一個集合。為此,您可以使用Database.CreateCollection()
.
要找出服務(wù)器上已經(jīng)存在哪些數(shù)據(jù)庫,您可以使用Client.ListDatabases()
orClient.ListDatabaseNames()
方法。
要找出數(shù)據(jù)庫中已經(jīng)存在哪些集合,您可以使用Database.ListCollections()
orDatabase.ListCollectionNames()
方法。
- 1 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消