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 ?}
1 回答

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