亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongodb golang檢查集合存在

mongodb golang檢查集合存在

Go
森欄 2022-10-24 09:04:49
我需要檢查一個集合是否存在。我創建了以下功能:func ExitsCollection(name string) bool {    var exists bool = false    names, err := cliente.CollectionNames()    if err != nil {        log.Println("[-]I cannot retrieve the list of collections")    }    // Simply search in the names    for _, name := range names {        if name == name {            log.Printf("[+]The collection already exists!")            exists = true            break        }    }    if !exists {        log.Println("[+] The collection does not exist")    }    return exists}為了連接,我使用下一個功能:func ConectaBD() {    cliente_local, err := mongo.NewClient(options.Client().ApplyURI(cadena_conexion))    if err != nil {        log.Fatal(err)    }    ctx, cancelar = context.WithTimeout(context.Background(), 10*time.Second)    err = cliente_local.Connect(ctx)    if err != nil {        log.Fatal(err)    }    defer cancelar()    mongo_cliente = cliente_local.Database(DATABASE)    log.Println("[+]Connected to MongoDB Atlas")}我使用以下變量:var cliente_local *mongo.Clientvar mongo_cliente *mongo.Databasevar coleccion *mongo.Collectionvar ctx context.Contextvar cancelar context.CancelFunc問題是下一句話:名稱,錯誤:= cliente.CollectionNames()什么類型的數據或如何使用方法 CollectionNames()?有人有示例源代碼嗎?
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

Database.CollectionNames()返回 db 數據庫中存在的集合名稱。返回類型是slice這樣,您需要檢查您的收藏是否已列出。


請查看官方文檔:https ://pkg.go.dev/gopkg.in/mgo.v2#Database.CollectionNames


sess := ... // obtain session

db := sess.DB("") // Get db, use db name if not given in connection url


names, err := db.CollectionNames()

if err != nil {

    // Handle error

    log.Printf("Failed to get coll names: %v", err)

    return

}


// Simply search in the names slice, e.g.

for _, name := range names {

    if name == "collectionToCheck" {

        log.Printf("The collection exists!")

        break

    }

}


查看完整回答
反對 回復 2022-10-24
  • 1 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號